{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Preparing Alpha Factors and Features to predict Stock Returns"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Imports & Settings"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:13:18.220582Z",
     "start_time": "2020-06-17T18:13:18.218444Z"
    }
   },
   "outputs": [],
   "source": [
    "import warnings\n",
    "warnings.filterwarnings('ignore')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:13:19.415321Z",
     "start_time": "2020-06-17T18:13:18.233194Z"
    }
   },
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "\n",
    "from scipy.stats import pearsonr\n",
    "from talib import RSI, BBANDS, MACD, ATR"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:13:19.424425Z",
     "start_time": "2020-06-17T18:13:19.420170Z"
    }
   },
   "outputs": [],
   "source": [
    "MONTH = 21\n",
    "YEAR = 12 * MONTH"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:13:19.434184Z",
     "start_time": "2020-06-17T18:13:19.429959Z"
    }
   },
   "outputs": [],
   "source": [
    "START = '2013-01-01'\n",
    "END = '2017-12-31'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:13:19.445222Z",
     "start_time": "2020-06-17T18:13:19.439086Z"
    }
   },
   "outputs": [],
   "source": [
    "sns.set_style('whitegrid')\n",
    "idx = pd.IndexSlice"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Loading Quandl Wiki Stock Prices & Meta Data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:13:26.040898Z",
     "start_time": "2020-06-17T18:13:19.450021Z"
    }
   },
   "outputs": [],
   "source": [
    "DATA_STORE = '../data/assets.h5'\n",
    "ohlcv = ['adj_open', 'adj_close', 'adj_low', 'adj_high', 'adj_volume']\n",
    "with pd.HDFStore(DATA_STORE) as store:\n",
    "    prices = (store['quandl/wiki/prices']\n",
    "              .loc[idx[START:END, :], ohlcv]\n",
    "              .rename(columns=lambda x: x.replace('adj_', ''))\n",
    "              .swaplevel()\n",
    "              .sort_index())\n",
    "    prices.volume /= 1e3\n",
    "    stocks = (store['us_equities/stocks']\n",
    "              .loc[:, ['marketcap', 'ipoyear', 'sector']])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Remove stocks with few observations"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:15:12.345458Z",
     "start_time": "2020-06-17T18:13:26.042412Z"
    }
   },
   "outputs": [],
   "source": [
    "min_obs = 2 * YEAR\n",
    "nobs = prices.groupby(level='ticker').size()\n",
    "keep = nobs[nobs > min_obs].index\n",
    "prices = prices.loc[idx[keep, :], :]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Align price and meta data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:15:12.359190Z",
     "start_time": "2020-06-17T18:15:12.346863Z"
    }
   },
   "outputs": [],
   "source": [
    "stocks = stocks[~stocks.index.duplicated() & stocks.sector.notnull()]\n",
    "stocks.sector = stocks.sector.str.lower().str.replace(' ', '_')\n",
    "stocks.index.name = 'ticker'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:16:20.847048Z",
     "start_time": "2020-06-17T18:15:12.362057Z"
    }
   },
   "outputs": [],
   "source": [
    "shared = (prices.index.get_level_values('ticker').unique()\n",
    "          .intersection(stocks.index))\n",
    "stocks = stocks.loc[shared, :]\n",
    "prices = prices.loc[idx[shared, :], :]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:16:21.032106Z",
     "start_time": "2020-06-17T18:16:20.850450Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "MultiIndex: 2904233 entries, ('A', Timestamp('2013-01-02 00:00:00')) to ('ZUMZ', Timestamp('2017-12-29 00:00:00'))\n",
      "Data columns (total 5 columns):\n",
      " #   Column  Non-Null Count    Dtype  \n",
      "---  ------  --------------    -----  \n",
      " 0   open    2904233 non-null  float64\n",
      " 1   close   2904233 non-null  float64\n",
      " 2   low     2904233 non-null  float64\n",
      " 3   high    2904233 non-null  float64\n",
      " 4   volume  2904233 non-null  float64\n",
      "dtypes: float64(5)\n",
      "memory usage: 122.0+ MB\n"
     ]
    }
   ],
   "source": [
    "prices.info(null_counts=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:16:21.047566Z",
     "start_time": "2020-06-17T18:16:21.034340Z"
    },
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Index: 2348 entries, A to ZUMZ\n",
      "Data columns (total 3 columns):\n",
      " #   Column     Non-Null Count  Dtype  \n",
      "---  ------     --------------  -----  \n",
      " 0   marketcap  2345 non-null   float64\n",
      " 1   ipoyear    1026 non-null   float64\n",
      " 2   sector     2348 non-null   object \n",
      "dtypes: float64(2), object(1)\n",
      "memory usage: 73.4+ KB\n"
     ]
    }
   ],
   "source": [
    "stocks.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:16:21.065919Z",
     "start_time": "2020-06-17T18:16:21.049967Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "consumer_services        440\n",
       "finance                  393\n",
       "health_care              297\n",
       "technology               297\n",
       "capital_goods            227\n",
       "basic_industries         138\n",
       "consumer_non-durables    126\n",
       "energy                   123\n",
       "public_utilities         105\n",
       "consumer_durables         78\n",
       "miscellaneous             69\n",
       "transportation            55\n",
       "Name: sector, dtype: int64"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stocks.sector.value_counts()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Compute Rolling Average Dollar Volume"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:16:25.089324Z",
     "start_time": "2020-06-17T18:16:21.068257Z"
    }
   },
   "outputs": [],
   "source": [
    "# compute dollar volume to determine universe\n",
    "prices['dollar_vol'] = prices.loc[:, 'close'].mul(prices.loc[:, 'volume'], axis=0)\n",
    "prices['dollar_vol'] = (prices\n",
    "                        .groupby('ticker',\n",
    "                                 group_keys=False,\n",
    "                                 as_index=False)\n",
    "                        .dollar_vol\n",
    "                        .rolling(window=21)\n",
    "                        .mean()\n",
    "                        .fillna(0)\n",
    "                        .reset_index(level=0, drop=True))\n",
    "prices.dollar_vol /= 1e3"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:16:26.471705Z",
     "start_time": "2020-06-17T18:16:25.090648Z"
    }
   },
   "outputs": [],
   "source": [
    "prices['dollar_vol_rank'] = (prices\n",
    "                             .groupby('date')\n",
    "                             .dollar_vol\n",
    "                             .rank(ascending=False))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Add some Basic Factors"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Compute the Relative Strength Index"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:16:29.719552Z",
     "start_time": "2020-06-17T18:16:26.473033Z"
    }
   },
   "outputs": [],
   "source": [
    "prices['rsi'] = prices.groupby(level='ticker').close.apply(RSI)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:16:32.328669Z",
     "start_time": "2020-06-17T18:16:29.746365Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAagAAAEYCAYAAAAJeGK1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nOzdeXxU1fn48c8s2VdCICthCQTCToJLpUFNjaCyKAED0rRVqra1X0u/VgEXQPBHqFW/LqWIVqt1KUGKsqiogBgEWRKIkBAIayAhK2SbLDOZzPz+SBlNScjCzNyb5Hm/XrzM3HPvuc+9nsmTe++552isVqsVIYQQQmW0SgcghBBCtEQSlBBCCFWSBCWEEEKVJEEJIYRQJUlQQgghVEkSlBBCCFWSBCUYOnQoU6dOZfr06dx9991MmjSJxMREjhw5Yltnw4YNzJgxg2nTpnHXXXfx1FNPUV1dDUB+fj7jxo1rse7k5GTi4+OZPn0606dP56677uL555/HYDAAcOTIER599NGrxnf48GEWL17cYtmPt1+4cCFvvfVWh4//gQce4NKlSwA8+OCDnDx5ssN1dNb06dOpqqqiurqaX/ziF7blQ4cOtcV0NSUlJcyfP5+pU6cydepUZs2axbZt266o395ee+01li1b1mzZyZMnbf+fb7nlFmJjY22f33nnnRa3sZertcGriY+Pb9bOL9u6dSvJycn2CE1cA73SAQh1ePfddwkICLB9fuutt3juuedITU3l8OHDrFq1in//+9/4+/vT2NjIs88+y9KlS3nxxRfbrPuJJ55g8uTJADQ0NPDcc8/xpz/9iddff51Ro0bx6quvXnX7kydPUlxc3GJZe7Zvy+7du20/v/nmm9dUV0dt3LgRaPoF29IvyrY8/fTT3HTTTbz88stA07maM2cOAwcOJDIy0la/MwwePNi2vw0bNvDFF1+wZs0aW/lrr73mtFhE9yBXUOIKZrOZwsJC/Pz8ACgtLcVqtVJfXw+ATqfjD3/4A7Nmzepw3S4uLixatIgDBw5w6tQp9u3bx5QpUwBIT09n5syZzJgxgxkzZvDFF19QWFjIq6++Snp6OosWLWLfvn1MmzaN2bNnM3XqVHbt2mXbHiAjI4N7772XO++8k//3//4fZrMZuPKK5PLnRYsWAfDLX/6SwsLCZn9Rp6amMmXKFKZNm8YDDzzAmTNngKYrteeee47k5GQSEhL4/e9/T01NTbPjzMnJ4eabb7Z9njdvHgsWLADAZDJxww03UF1d3SyO+vp6pk+fTmNjI9D0C33GjBnEx8fzwQcftHg+S0tLqa+vx2KxAE1JYvXq1fj6+jY7zsbGRlJSUkhISGDGjBksXbrUdoWQnJzMiy++yNy5c4mPj+epp56y1ff6668za9Yspk6dym233cZXX33Vsf/h/+X06dMkJyczefJkfv7zn1NSUgI0XcnMnz+fO+64g6+++ori4mIeeeQRZsyYwdSpU3n99deBpra5ZMkSpk6dyowZM3j00Udt576xsZHFixdzzz33cNttt/HFF18ATX8ULV++nDvvvJOpU6fy1FNP2a7gf+yVV17htttuY+bMmdd8nMI+JEEJoOkX9NSpU/npT3/KpEmTAEhJSQFg4sSJjBs3jvj4eO655x6WLVvGkSNHuOGGGzq1L3d3dwYMGEBubm6z5a+99hr3338/GzZsYMWKFezdu5eQkBAeffRRxo8fb4vnxIkTvPjii2zevBlXV9dmdRQVFfHOO+/wySefcOzYMdatW3fVWC7X+e677xISEmJb/t133/H3v/+df/7zn2zatIkpU6bwyCOPcHnglaysLN566y0+++wzCgoK2Lp1a7N6o6Oj0ev15ObmUl9fz+nTp9m7d6+t7tGjR+Pj49MsDnd3dzZu3IhOpwOgX79+bNiwgb/+9a+sXLmShoaGK+J/4okneP/99/nJT37Cb3/7W/7+97/Tr18/+vTp02y9jz76iOzsbLZs2cLatWs5f/58s/Jz587x3nvvsWnTJtLS0ti/fz8FBQXs2bOH9957j82bN/PHP/7xmq9Wz58/zyuvvMLWrVvx9fXlo48+spUNGTKEzz//nISEBB5//HESExPZsGED69evZ8+ePXz22WdkZmayf/9+Nm3axIYNG+jXrx/Hjx8HwGg0MmHCBD7++GMWLFjAX/7yFwBWr15NSUkJGzduZOPGjVgsFp5//vlmcW3bto0vv/ySTz75hLVr17aYwITzSYISQNMv6M2bN7NmzRrq6+u54YYb6N27N9B01fPiiy/y9ddfc//999PQ0MCCBQv44x//2On9aTQaPDw8mi274447WLZsGY899hjZ2dn87//+b4vbhoSEEBYW1mLZ9OnT8fT0xNXVlWnTprFnz55Oxbdr1y7uvPNO223PGTNmUFxcTH5+PgBxcXG4urri4uJCVFQUlZWVV9SRkJBAWloa+/bt48Ybb6R3796cOHGC7du3c/vtt7cZw+Urw+joaEwmU4u/NH/yk5+wc+dOVq1axZgxY/j666+ZPHkyhw8fbrbeN998w/Tp03Fzc8PV1ZWkpKRm5bfeeitarRZvb2/69+9PZWUlYWFhPP/882zevJkXXniBtWvXXnGl2FETJkywndNhw4Y1u6odP348ALW1tRw4cIBXXnmF6dOnc++991JYWMixY8eIiopCp9Mxa9YsXn75ZSZNmkRMTAzQ1E4v/3E1bNgwLl68CEBaWhqzZ8/GxcUFrVZLcnIyu3btahbXd999R0JCAt7e3uj1ehITE6/pOIV9SIISzYwYMYJFixaxcOFC2y/j9evXs337doKCgpg2bRrLly/n448/ZuvWre16kP/f6urqOHXqFIMHD262fPbs2WzatIkJEybw7bffMm3aNIxG4xXbe3p6tlr35asPAKvVil5/5WNWk8nUZoyXb3H9mNVqtd0ydHd3ty3XaDS0NKTlbbfdxjfffMPu3buZMGECN910E99++y1paWncdtttbcZwOXaNRmPb/49dvHiRpUuXotFoGD9+PL/5zW/44IMPuPPOO/nkk09arOsyrbb5V7+l48nOziYpKQmDwcCECRP49a9/3WbM7T2mH+/nssv/Xy0WC1arlbVr19quelJTU3n44Yfx9fVl48aNLFiwAJ1Ox/z58223P11cXJrVfZnFYrnic0tXoz+O5cftSChHEpS4wpQpUxg9erTt9pdWq+WFF16gqKjIts6JEycIDQ21Padqr/r6elasWMHEiRMJDw9vVjZ79mxycnKYMWMGy5cvp6qqitLSUnQ6nS0xtOXTTz/FZDJhNBr5+OOPmThxIgABAQG2Z0tbtmxptk1L9cfFxfHZZ5/ZEvDlDiL9+/dv97HGxMRw/vx5du7cyU033cSECRN49913GTBgAL169Wq2rl6vp7GxscVE1xo/Pz/27NnDP//5T9t2dXV1nDt3juHDhzdb9+abb2bTpk2YTCbMZjMff/xxm/UfOHCAkSNHcv/993P99dezfft22/MxR/L29mbs2LH84x//AKCqqoo5c+awfft2vv76a371q18xbtw4/ud//oe7776brKysq9YXFxfHv/71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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "ax = sns.distplot(prices.rsi.dropna())\n",
    "ax.axvline(30, ls='--', lw=1, c='k')\n",
    "ax.axvline(70, ls='--', lw=1, c='k')\n",
    "ax.set_title('RSI Distribution with Signal Threshold')\n",
    "plt.tight_layout();"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Compute Bollinger Bands"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:16:32.346829Z",
     "start_time": "2020-06-17T18:16:32.334030Z"
    }
   },
   "outputs": [],
   "source": [
    "def compute_bb(close):\n",
    "    high, mid, low = BBANDS(close, timeperiod=20)\n",
    "    return pd.DataFrame({'bb_high': high, 'bb_low': low}, index=close.index)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:16:39.154831Z",
     "start_time": "2020-06-17T18:16:32.352000Z"
    }
   },
   "outputs": [],
   "source": [
    "prices = (prices.join(prices\n",
    "                      .groupby(level='ticker')\n",
    "                      .close\n",
    "                      .apply(compute_bb)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:16:39.275536Z",
     "start_time": "2020-06-17T18:16:39.159610Z"
    }
   },
   "outputs": [],
   "source": [
    "prices['bb_high'] = prices.bb_high.sub(prices.close).div(prices.bb_high).apply(np.log1p)\n",
    "prices['bb_low'] = prices.close.sub(prices.bb_low).div(prices.close).apply(np.log1p)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:16:40.709723Z",
     "start_time": "2020-06-17T18:16:39.280906Z"
    },
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABDAAAAFgCAYAAABNIolGAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nOzdeZCcd33v+093P73OvkiasUayLYOscYghGHNPcowBEx9BTqjccJ1jo1xhF5xKhfLFMaRsU1gYqigXl0sugShlG+sWoY5sFieQskkcOBVz8Ba8ENsydlo23mSNPCNZs89099P9LPePnm4t1sz08nQ/3U+/X1VUNENr+vv0DI86n/l+v7+Q67quAAAAAAAAWljY7wIAAAAAAADWQ4ABAAAAAABaHgEGAAAAAABoeQQYAAAAAACg5RFgAAAAAACAlmc040meeeYZxePxZjzVGZmm6evzdyped3/wujcfr7k/eN2b7/TX3DRNvetd7/KxIv/fY9SiE352O+EaJa4zaLjOYOE629tq7zGaEmDE43GNj48346nOKJ1O+/r8nYrX3R+87s3Ha+4PXvfmO/01T6fTPlZT5Pd7jFp0ws9uJ1yjxHUGDdcZLFxne1vtPUZFIyQHDhzQ7t27y19o165d2r17tz71qU/p+PHj3lUJAAAAAABwBusGGPv27dOePXtkmqYk6dZbb9UXv/hF7d+/X5dffrn27dvX8CIBAAAAAEBnW3eEZOvWrdq7d69uvPFGSdI3vvENbdy4UZJk23ZF8zamafraZprL5VqizbXT8Lr7g9e9+XjN/cHr3ny85gAAwE/rBhg7d+7UxMRE+eNSePHUU0/prrvu0t13373uk/g9nxrUuaBWx+vuD1735uM19weve/O14g4MAADQOWpa4nn//ffr9ttv15133qnBwUGvawIAAAAAADhFRUs8T3bvvffqrrvu0v79+7Vly5ZG1AQAADrEyYvCp6en9elPf1p/+qd/qquuukqvv/66z9UBAIBWUlUHhm3buvXWWzU6OqrPfOYzkqSLL75Y1113XUOKAwAAwbVv3z7dd999SiaTkqSvf/3r+uhHP6o/+IM/0GOPPaZXXnlFW7du9blKAADQKioKMMbGxnTPPfdIkp544omGFgQAADrD6YvCn3rqKZ1//vm65pprtHnzZt18880+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\n",
      "text/plain": [
       "<Figure size 1080x360 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, axes = plt.subplots(ncols=2, figsize=(15, 5))\n",
    "sns.distplot(prices.loc[prices.dollar_vol_rank<100, 'bb_low'].dropna(), ax=axes[0])\n",
    "sns.distplot(prices.loc[prices.dollar_vol_rank<100, 'bb_high'].dropna(), ax=axes[1])\n",
    "plt.tight_layout();"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Compute Average True Range"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:16:40.719038Z",
     "start_time": "2020-06-17T18:16:40.714661Z"
    }
   },
   "outputs": [],
   "source": [
    "def compute_atr(stock_data):\n",
    "    df = ATR(stock_data.high, stock_data.low, \n",
    "             stock_data.close, timeperiod=14)\n",
    "    return df.sub(df.mean()).div(df.std())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:16:46.232710Z",
     "start_time": "2020-06-17T18:16:40.739955Z"
    }
   },
   "outputs": [],
   "source": [
    "prices['atr'] = (prices.groupby('ticker', group_keys=False)\n",
    "                 .apply(compute_atr))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:16:47.209415Z",
     "start_time": "2020-06-17T18:16:46.237680Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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+PKXv0xZWRn79+/XuqRxU1WVdevWUVZWxqpVq2hubta6pAnzer1897vf5b777mP58uW88cYbWpc0aV1dXdx88800NTVpXcqk/OxnP6OsrIy7776bF154QetyJszr9bJ27VrKy8u57777ou5zOHDgAKtWrQKgubmZlStXct999/HDH/4QVQ2+iYyE+3n+67/+i0996lP8+te/ZtOmTWzYsEHrksbt3KUi1q5dS2VlpdYlTdgf/vAHUlNT+c1vfsOzzz7Lj370I61LmhSv18u6deuIj4/XupRJeffdd9m/fz+//e1v2bp1K62trVqXNGF//vOf8fl8bNu2ja9//es88cQTWpc0bs8++yz//M//jNvtBgbvN/rmN7/Jb37zGwKBwLgGPRLu5/nKV75CeXk5AH6/P6purLrYUhHR4nOf+xwPP/zw8GO9PjoX2/rxj39MeXk5WVlZWpcyKW+//TZFRUV8/etf56GHHuIzn/mM1iVNWEFBAX6/H1VVsdvtYblDPlzy8vJ48sknhx9/+OGHXHfddcDgTaHvvPNO0NeInt6GwQsvvMDzzz8/4lhFRQVXX301HR0dfPe73+Wxxx7TqLqJm8plH8IlMTERGOzLN77xDb75zW9qXNHEvfTSS6Snp7NkyRJ+/vOfa13OpHR3d3P69GmeeeYZWlpa+Id/+Ad27twZVYuamc1mTp06xec//3m6u7t55plntC5p3D772c/S0tIy/DgQCAz/7hMTE+nv7w/6GtHzf30YrFixghUrVow63tDQwLe//W2+973vDf9pGQ0sFgsDAwPDj1VVjapgH2Kz2fj617/Offfdx5133ql1ORP24osvoigKe/fupb6+nu9///ts2bKFzMzo2ZM3NTWVefPmYTQamTdvHiaTiTNnzjBjxgytSxu3X/7yl9x4442sXbsWm83GAw88QFVVVVT9bXyITvfxJMvAwADJycnB24SzoGh05MgRHn74YTZv3szNN9+sdTkTUlpaOryGz3iXfYg0nZ2dPPjgg3z3u99l+fLlWpczKf/93//Nr3/9a7Zu3UpxcTE//vGPoyrYYXCF17feeotAIEBbWxtOp5PU1Oja4yA5OXl4YcOUlBR8Ph9+f3QuFHjFFVfw7rvvAlBTU8PixYuDtom+YV2Ybd68GY/Hw7/+678Cg6PhSFmLPpilS5eyZ88eysvLh5d9iDbPPPMMfX19PP300zz99NPA4JdL0frFZLS65ZZbeP/991m+fDmBQIB169ZF3fcfX/nKV3jssce477778Hq9fOtb38JsNmtd1qR8//vf5wc/+AGPP/448+bN47Of/WzQNrL8gBBCxCCZlhFCiBgk4S6EEDFIwl0IIWKQhLsQQsQgCXchhIhBEu5CBNHQ0MD777+vdRlCTIiEuxBB7Nq1iyNHjmhdhhATIjcxCXEOu93OP/3TP9Hf3093dzd33HEHv/vd74iLi+PKK6/kscceY+7cuRiNRh5//HGtyxViTBLuQpyjubmZv/mbv+GOO+6gra2NVatW8aUvfYmMjAyuvvpqHA4HX/va17jiiiu0LlWIi5JwF+IcGRkZPP/88+zatQuLxYLP5xv1nIKCAg0qE2JiZM5diHM899xzlJSU8G//9m987nOfG15q9dydb85doU+ISCUjdyHOccstt7B+/XqqqqpITU1Fr9ezYMECHn/8cQoLC7UuT4hxk4XDhBAiBsnfL4UQIgZJuAshRAyScBdCiBgk4S6EEDFIwl0IIWKQhLsQQsQgCXchhIhBEu5CCBGD/j+pXNZuzMUlcwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.distplot(prices[prices.dollar_vol_rank<50].atr.dropna());"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Compute Moving Average Convergence/Divergence"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:16:47.222185Z",
     "start_time": "2020-06-17T18:16:47.216243Z"
    }
   },
   "outputs": [],
   "source": [
    "def compute_macd(close):\n",
    "    macd = MACD(close)[0]\n",
    "    return (macd - np.mean(macd))/np.std(macd)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:16:52.641924Z",
     "start_time": "2020-06-17T18:16:47.228805Z"
    }
   },
   "outputs": [],
   "source": [
    "prices['macd'] = (prices\n",
    "                  .groupby('ticker', group_keys=False)\n",
    "                  .close\n",
    "                  .apply(compute_macd))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:16:52.803621Z",
     "start_time": "2020-06-17T18:16:52.647238Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count    2,826,749.0\n",
       "mean             0.0\n",
       "std              1.0\n",
       "min            -10.5\n",
       "0.1%            -4.1\n",
       "1%              -2.6\n",
       "2%              -2.2\n",
       "3%              -2.0\n",
       "4%              -1.8\n",
       "5%              -1.6\n",
       "50%              0.0\n",
       "95%              1.6\n",
       "96%              1.7\n",
       "97%              1.9\n",
       "98%              2.1\n",
       "99%              2.6\n",
       "99.9%            4.0\n",
       "max              8.7\n",
       "Name: macd, dtype: object"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "prices.macd.describe(percentiles=[.001, .01, .02, .03, .04, .05, .95, .96, .97, .98, .99, .999]).apply(lambda x: f'{x:,.1f}')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:16:53.753150Z",
     "start_time": "2020-06-17T18:16:52.807877Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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9/L4449z7733oigK//7v/652STPK9u3b8fl8fP/73wf65zaKhamkV65cSVVVFWVlZeE7smPJj3/8Y3p6enjmmWd45plnAPjZz34WkycwY82tt97K+++/z+rVq1EUhU2bNsXcOYuRyB2qQggRh+LuUkghhBAS7kIIEZck3IUQIg5JuAshRByScBdCiDgk4S5ElHi9Xm677Ta1yxACkHAXQoi4FHc3MQkxFq+++iqVlZV4PB5aW1tZv349b775JidOnOA73/kOTU1N7Nu3j0AggNVq5amnniIUCrFx40YuXLiA3+/nscceIz8/n29961v09PSwcOFCtQ9LiDAJdzFr9fX18dxzz/Haa6/x/PPP8+tf/5p3332X559/nmXLlvH888+j1WrZsGEDhw8f5vDhw8yfP58f/ehH1NXV8c4773DkyBHy8/P5l3/5Fw4dOsS7776r9mEJAUi4i1msoKAAAKvVSl5eHhqNhpSUFPx+PwkJCTz88MOYzWaampoIBAKcOnWKm2++GeifWjo/P5/HH388PN3vddddFzMzQQohY+5i1hpp2la/309FRQVPPvkkjz32GKFQCEVRyMvL4/DhwwCcO3eORx55hCVLlmC32wE4evQogUBg2uoXYjTSzRDiQ/R6PSaTibvvvhuDwUBmZiYtLS2UlZXx3e9+l7Vr1xIMBvnud79LQUEBGzduZM2aNSxZsoSEhAS1yxcCkInDhBAiLsmwjBBCxCEJdyGEiEMS7kIIEYck3IUQIg5JuAshRByScBdCiDgk4S6EEHFIwl0IIeLQ/weD/hqcxnBiqgAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.distplot(prices[prices.dollar_vol_rank<100].macd.dropna());"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Compute Lagged Returns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:16:53.760082Z",
     "start_time": "2020-06-17T18:16:53.757482Z"
    }
   },
   "outputs": [],
   "source": [
    "lags = [1, 5, 10, 21, 42, 63]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:16:54.667834Z",
     "start_time": "2020-06-17T18:16:53.761529Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style  type=\"text/css\" >\n",
       "</style><table id=\"T_b9461bfe_b0c6_11ea_9639_6045cb72e6b3\" ><thead>    <tr>        <th class=\"blank level0\" ></th>        <th class=\"col_heading level0 col0\" >percentiles</th>    </tr></thead><tbody>\n",
       "                <tr>\n",
       "                        <th id=\"T_b9461bfe_b0c6_11ea_9639_6045cb72e6b3level0_row0\" class=\"row_heading level0 row0\" >std</th>\n",
       "                        <td id=\"T_b9461bfe_b0c6_11ea_9639_6045cb72e6b3row0_col0\" class=\"data row0 col0\" >9.37%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_b9461bfe_b0c6_11ea_9639_6045cb72e6b3level0_row1\" class=\"row_heading level0 row1\" >min</th>\n",
       "                        <td id=\"T_b9461bfe_b0c6_11ea_9639_6045cb72e6b3row1_col0\" class=\"data row1 col0\" >-87.62%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_b9461bfe_b0c6_11ea_9639_6045cb72e6b3level0_row2\" class=\"row_heading level0 row2\" >0.01%</th>\n",
       "                        <td id=\"T_b9461bfe_b0c6_11ea_9639_6045cb72e6b3row2_col0\" class=\"data row2 col0\" >-33.40%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_b9461bfe_b0c6_11ea_9639_6045cb72e6b3level0_row3\" class=\"row_heading level0 row3\" >0.1%</th>\n",
       "                        <td id=\"T_b9461bfe_b0c6_11ea_9639_6045cb72e6b3row3_col0\" class=\"data row3 col0\" >-14.78%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_b9461bfe_b0c6_11ea_9639_6045cb72e6b3level0_row4\" class=\"row_heading level0 row4\" >1%</th>\n",
       "                        <td id=\"T_b9461bfe_b0c6_11ea_9639_6045cb72e6b3row4_col0\" class=\"data row4 col0\" >-6.52%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_b9461bfe_b0c6_11ea_9639_6045cb72e6b3level0_row5\" class=\"row_heading level0 row5\" >50%</th>\n",
       "                        <td id=\"T_b9461bfe_b0c6_11ea_9639_6045cb72e6b3row5_col0\" class=\"data row5 col0\" >0.04%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_b9461bfe_b0c6_11ea_9639_6045cb72e6b3level0_row6\" class=\"row_heading level0 row6\" >99%</th>\n",
       "                        <td id=\"T_b9461bfe_b0c6_11ea_9639_6045cb72e6b3row6_col0\" class=\"data row6 col0\" >6.98%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_b9461bfe_b0c6_11ea_9639_6045cb72e6b3level0_row7\" class=\"row_heading level0 row7\" >99.9%</th>\n",
       "                        <td id=\"T_b9461bfe_b0c6_11ea_9639_6045cb72e6b3row7_col0\" class=\"data row7 col0\" >17.03%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_b9461bfe_b0c6_11ea_9639_6045cb72e6b3level0_row8\" class=\"row_heading level0 row8\" >99.99%</th>\n",
       "                        <td id=\"T_b9461bfe_b0c6_11ea_9639_6045cb72e6b3row8_col0\" class=\"data row8 col0\" >39.25%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_b9461bfe_b0c6_11ea_9639_6045cb72e6b3level0_row9\" class=\"row_heading level0 row9\" >max</th>\n",
       "                        <td id=\"T_b9461bfe_b0c6_11ea_9639_6045cb72e6b3row9_col0\" class=\"data row9 col0\" >10,280.40%</td>\n",
       "            </tr>\n",
       "    </tbody></table>"
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x7f668a836c50>"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "returns = prices.groupby(level='ticker').close.pct_change()\n",
    "percentiles=[.0001, .001, .01]\n",
    "percentiles+= [1-p for p in percentiles]\n",
    "returns.describe(percentiles=percentiles).iloc[2:].to_frame('percentiles').style.format(lambda x: f'{x:,.2%}')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:16:54.672230Z",
     "start_time": "2020-06-17T18:16:54.669701Z"
    }
   },
   "outputs": [],
   "source": [
    "q = 0.0001"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Winsorize outliers"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:17:07.633394Z",
     "start_time": "2020-06-17T18:16:54.673682Z"
    }
   },
   "outputs": [],
   "source": [
    "for lag in lags:\n",
    "    prices[f'return_{lag}d'] = (prices.groupby(level='ticker').close\n",
    "                                .pct_change(lag)\n",
    "                                .pipe(lambda x: x.clip(lower=x.quantile(q),\n",
    "                                                       upper=x.quantile(1 - q)))\n",
    "                                .add(1)\n",
    "                                .pow(1 / lag)\n",
    "                                .sub(1)\n",
    "                                )"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Shift lagged returns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:17:22.230126Z",
     "start_time": "2020-06-17T18:17:07.634850Z"
    }
   },
   "outputs": [],
   "source": [
    "for t in [1, 2, 3, 4, 5]:\n",
    "    for lag in [1, 5, 10, 21]:\n",
    "        prices[f'return_{lag}d_lag{t}'] = (prices.groupby(level='ticker')\n",
    "                                           [f'return_{lag}d'].shift(t * lag))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Compute Forward Returns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:17:25.477417Z",
     "start_time": "2020-06-17T18:17:22.231423Z"
    }
   },
   "outputs": [],
   "source": [
    "for t in [1, 5, 10, 21]:\n",
    "    prices[f'target_{t}d'] = prices.groupby(level='ticker')[f'return_{t}d'].shift(-t)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Combine Price and Meta Data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:17:25.942517Z",
     "start_time": "2020-06-17T18:17:25.478784Z"
    }
   },
   "outputs": [],
   "source": [
    "prices = prices.join(stocks[['sector']])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Create time and sector dummy variables"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:17:26.708384Z",
     "start_time": "2020-06-17T18:17:25.943888Z"
    }
   },
   "outputs": [],
   "source": [
    "prices['year'] = prices.index.get_level_values('date').year\n",
    "prices['month'] = prices.index.get_level_values('date').month"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:17:27.663064Z",
     "start_time": "2020-06-17T18:17:26.710245Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "MultiIndex: 2904233 entries, ('A', Timestamp('2013-01-02 00:00:00')) to ('ZUMZ', Timestamp('2017-12-29 00:00:00'))\n",
      "Data columns (total 45 columns):\n",
      " #   Column           Non-Null Count    Dtype  \n",
      "---  ------           --------------    -----  \n",
      " 0   open             2904233 non-null  float64\n",
      " 1   close            2904233 non-null  float64\n",
      " 2   low              2904233 non-null  float64\n",
      " 3   high             2904233 non-null  float64\n",
      " 4   volume           2904233 non-null  float64\n",
      " 5   dollar_vol       2904233 non-null  float64\n",
      " 6   dollar_vol_rank  2904233 non-null  float64\n",
      " 7   rsi              2871361 non-null  float64\n",
      " 8   bb_high          2859618 non-null  float64\n",
      " 9   bb_low           2859585 non-null  float64\n",
      " 10  atr              2871361 non-null  float64\n",
      " 11  macd             2826749 non-null  float64\n",
      " 12  return_1d        2901885 non-null  float64\n",
      " 13  return_5d        2892493 non-null  float64\n",
      " 14  return_10d       2880753 non-null  float64\n",
      " 15  return_21d       2854925 non-null  float64\n",
      " 16  return_42d       2805617 non-null  float64\n",
      " 17  return_63d       2756309 non-null  float64\n",
      " 18  return_1d_lag1   2899537 non-null  float64\n",
      " 19  return_5d_lag1   2880753 non-null  float64\n",
      " 20  return_10d_lag1  2857273 non-null  float64\n",
      " 21  return_21d_lag1  2805617 non-null  float64\n",
      " 22  return_1d_lag2   2897189 non-null  float64\n",
      " 23  return_5d_lag2   2869013 non-null  float64\n",
      " 24  return_10d_lag2  2833793 non-null  float64\n",
      " 25  return_21d_lag2  2756309 non-null  float64\n",
      " 26  return_1d_lag3   2894841 non-null  float64\n",
      " 27  return_5d_lag3   2857273 non-null  float64\n",
      " 28  return_10d_lag3  2810313 non-null  float64\n",
      " 29  return_21d_lag3  2707001 non-null  float64\n",
      " 30  return_1d_lag4   2892493 non-null  float64\n",
      " 31  return_5d_lag4   2845533 non-null  float64\n",
      " 32  return_10d_lag4  2786833 non-null  float64\n",
      " 33  return_21d_lag4  2657693 non-null  float64\n",
      " 34  return_1d_lag5   2890145 non-null  float64\n",
      " 35  return_5d_lag5   2833793 non-null  float64\n",
      " 36  return_10d_lag5  2763353 non-null  float64\n",
      " 37  return_21d_lag5  2608385 non-null  float64\n",
      " 38  target_1d        2901885 non-null  float64\n",
      " 39  target_5d        2892493 non-null  float64\n",
      " 40  target_10d       2880753 non-null  float64\n",
      " 41  target_21d       2854925 non-null  float64\n",
      " 42  sector           2904233 non-null  object \n",
      " 43  year             2904233 non-null  int64  \n",
      " 44  month            2904233 non-null  int64  \n",
      "dtypes: float64(42), int64(2), object(1)\n",
      "memory usage: 1.1+ GB\n"
     ]
    }
   ],
   "source": [
    "prices.info(null_counts=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:17:30.628935Z",
     "start_time": "2020-06-17T18:17:27.664670Z"
    }
   },
   "outputs": [],
   "source": [
    "prices.assign(sector=pd.factorize(prices.sector, sort=True)[0]).to_hdf('data.h5', 'model_data/no_dummies')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:17:32.087652Z",
     "start_time": "2020-06-17T18:17:30.630223Z"
    }
   },
   "outputs": [],
   "source": [
    "prices = pd.get_dummies(prices,\n",
    "                        columns=['year', 'month', 'sector'],\n",
    "                        prefix=['year', 'month', ''],\n",
    "                        prefix_sep=['_', '_', ''],\n",
    "                        drop_first=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:17:32.842447Z",
     "start_time": "2020-06-17T18:17:32.089499Z"
    },
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "MultiIndex: 2904233 entries, ('A', Timestamp('2013-01-02 00:00:00')) to ('ZUMZ', Timestamp('2017-12-29 00:00:00'))\n",
      "Data columns (total 68 columns):\n",
      " #   Column                 Non-Null Count    Dtype  \n",
      "---  ------                 --------------    -----  \n",
      " 0   open                   2904233 non-null  float64\n",
      " 1   close                  2904233 non-null  float64\n",
      " 2   low                    2904233 non-null  float64\n",
      " 3   high                   2904233 non-null  float64\n",
      " 4   volume                 2904233 non-null  float64\n",
      " 5   dollar_vol             2904233 non-null  float64\n",
      " 6   dollar_vol_rank        2904233 non-null  float64\n",
      " 7   rsi                    2871361 non-null  float64\n",
      " 8   bb_high                2859618 non-null  float64\n",
      " 9   bb_low                 2859585 non-null  float64\n",
      " 10  atr                    2871361 non-null  float64\n",
      " 11  macd                   2826749 non-null  float64\n",
      " 12  return_1d              2901885 non-null  float64\n",
      " 13  return_5d              2892493 non-null  float64\n",
      " 14  return_10d             2880753 non-null  float64\n",
      " 15  return_21d             2854925 non-null  float64\n",
      " 16  return_42d             2805617 non-null  float64\n",
      " 17  return_63d             2756309 non-null  float64\n",
      " 18  return_1d_lag1         2899537 non-null  float64\n",
      " 19  return_5d_lag1         2880753 non-null  float64\n",
      " 20  return_10d_lag1        2857273 non-null  float64\n",
      " 21  return_21d_lag1        2805617 non-null  float64\n",
      " 22  return_1d_lag2         2897189 non-null  float64\n",
      " 23  return_5d_lag2         2869013 non-null  float64\n",
      " 24  return_10d_lag2        2833793 non-null  float64\n",
      " 25  return_21d_lag2        2756309 non-null  float64\n",
      " 26  return_1d_lag3         2894841 non-null  float64\n",
      " 27  return_5d_lag3         2857273 non-null  float64\n",
      " 28  return_10d_lag3        2810313 non-null  float64\n",
      " 29  return_21d_lag3        2707001 non-null  float64\n",
      " 30  return_1d_lag4         2892493 non-null  float64\n",
      " 31  return_5d_lag4         2845533 non-null  float64\n",
      " 32  return_10d_lag4        2786833 non-null  float64\n",
      " 33  return_21d_lag4        2657693 non-null  float64\n",
      " 34  return_1d_lag5         2890145 non-null  float64\n",
      " 35  return_5d_lag5         2833793 non-null  float64\n",
      " 36  return_10d_lag5        2763353 non-null  float64\n",
      " 37  return_21d_lag5        2608385 non-null  float64\n",
      " 38  target_1d              2901885 non-null  float64\n",
      " 39  target_5d              2892493 non-null  float64\n",
      " 40  target_10d             2880753 non-null  float64\n",
      " 41  target_21d             2854925 non-null  float64\n",
      " 42  year_2014              2904233 non-null  uint8  \n",
      " 43  year_2015              2904233 non-null  uint8  \n",
      " 44  year_2016              2904233 non-null  uint8  \n",
      " 45  year_2017              2904233 non-null  uint8  \n",
      " 46  month_2                2904233 non-null  uint8  \n",
      " 47  month_3                2904233 non-null  uint8  \n",
      " 48  month_4                2904233 non-null  uint8  \n",
      " 49  month_5                2904233 non-null  uint8  \n",
      " 50  month_6                2904233 non-null  uint8  \n",
      " 51  month_7                2904233 non-null  uint8  \n",
      " 52  month_8                2904233 non-null  uint8  \n",
      " 53  month_9                2904233 non-null  uint8  \n",
      " 54  month_10               2904233 non-null  uint8  \n",
      " 55  month_11               2904233 non-null  uint8  \n",
      " 56  month_12               2904233 non-null  uint8  \n",
      " 57  capital_goods          2904233 non-null  uint8  \n",
      " 58  consumer_durables      2904233 non-null  uint8  \n",
      " 59  consumer_non-durables  2904233 non-null  uint8  \n",
      " 60  consumer_services      2904233 non-null  uint8  \n",
      " 61  energy                 2904233 non-null  uint8  \n",
      " 62  finance                2904233 non-null  uint8  \n",
      " 63  health_care            2904233 non-null  uint8  \n",
      " 64  miscellaneous          2904233 non-null  uint8  \n",
      " 65  public_utilities       2904233 non-null  uint8  \n",
      " 66  technology             2904233 non-null  uint8  \n",
      " 67  transportation         2904233 non-null  uint8  \n",
      "dtypes: float64(42), uint8(26)\n",
      "memory usage: 1.1+ GB\n"
     ]
    }
   ],
   "source": [
    "prices.info(null_counts=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Store Model Data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:17:34.108205Z",
     "start_time": "2020-06-17T18:17:32.852593Z"
    }
   },
   "outputs": [],
   "source": [
    "prices.to_hdf('data.h5', 'model_data')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Explore Data"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Plot Factors"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:17:34.170702Z",
     "start_time": "2020-06-17T18:17:34.109549Z"
    }
   },
   "outputs": [],
   "source": [
    "target = 'target_5d'\n",
    "top100 = prices[prices.dollar_vol_rank<100].copy()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### RSI"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:17:37.840527Z",
     "start_time": "2020-06-17T18:17:34.172787Z"
    }
   },
   "outputs": [],
   "source": [
    "top100.loc[:, 'rsi_signal'] = pd.cut(top100.rsi, bins=[0, 30, 70, 100])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:17:38.682528Z",
     "start_time": "2020-06-17T18:17:37.841913Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>mean</th>\n",
       "      <th>std</th>\n",
       "      <th>min</th>\n",
       "      <th>25%</th>\n",
       "      <th>50%</th>\n",
       "      <th>75%</th>\n",
       "      <th>max</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>rsi_signal</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>(0, 30]</th>\n",
       "      <td>4209.0</td>\n",
       "      <td>0.001126</td>\n",
       "      <td>0.010457</td>\n",
       "      <td>-0.067138</td>\n",
       "      <td>-0.003606</td>\n",
       "      <td>0.001051</td>\n",
       "      <td>0.006156</td>\n",
       "      <td>0.061889</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(30, 70]</th>\n",
       "      <td>107244.0</td>\n",
       "      <td>0.000446</td>\n",
       "      <td>0.007711</td>\n",
       "      <td>-0.170571</td>\n",
       "      <td>-0.003054</td>\n",
       "      <td>0.000650</td>\n",
       "      <td>0.004246</td>\n",
       "      <td>0.075653</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(70, 100]</th>\n",
       "      <td>10635.0</td>\n",
       "      <td>0.000016</td>\n",
       "      <td>0.006357</td>\n",
       "      <td>-0.087857</td>\n",
       "      <td>-0.002820</td>\n",
       "      <td>0.000145</td>\n",
       "      <td>0.003121</td>\n",
       "      <td>0.058570</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "               count      mean       std       min       25%       50%  \\\n",
       "rsi_signal                                                               \n",
       "(0, 30]       4209.0  0.001126  0.010457 -0.067138 -0.003606  0.001051   \n",
       "(30, 70]    107244.0  0.000446  0.007711 -0.170571 -0.003054  0.000650   \n",
       "(70, 100]    10635.0  0.000016  0.006357 -0.087857 -0.002820  0.000145   \n",
       "\n",
       "                 75%       max  \n",
       "rsi_signal                      \n",
       "(0, 30]     0.006156  0.061889  \n",
       "(30, 70]    0.004246  0.075653  \n",
       "(70, 100]   0.003121  0.058570  "
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "top100.groupby('rsi_signal')['target_5d'].describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Bollinger Bands"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:17:42.103788Z",
     "start_time": "2020-06-17T18:17:38.683778Z"
    },
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbQAAAGoCAYAAAAuIBCmAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nO3de3hTVbo/8G+apKW0hUJFhGK5jVwOF1uKA4riAwrowRk7dAq0WhlvDCr+BLFDnXEEAaGKPHpQQRnPIAexcp3OIPMMo5YDioC2tghYGE+52YilUCptekvS/fujk9gke+9cmuwke38/f9m9c1mrwbxda73rXTpBEAQQERFFuKhQN4CIiCgQGNCIiEgVGNCIiEgVGNCIiEgVGNCIiEgVGNBknD17NtRNUIxW+qqVfgLa6atW+gloq6/+YECT0dTUFOomKEYrfdVKPwHt9FUr/QS01Vd/MKAREZEqGELdACIKnh8bW1HfYnW7nhBjQPeu0SFoEVHwMKARqVh9ixUH/nXJ7frEIdcwoJHqcMqRiIhUgQGNiIhUgQGNiIhUgQGNiIhUgQGNiIhUgQGNiIhUgQGNiIhUgQGNiIhUgQGNiIhUgQGNiIhUgQGNiIhUgQGNiIhUgQGNiIhUgQGNiIhUgQGNiIhUgQGNiIhUgQGNiIhUgQGNiIhUgQGNiIhUgQGNiIhUgQGNiIhUgQGNiIhUgQGNiIhUgQGNiIhUgQGNiIhUgQGNiIhUgQGNiIhUwRDqBhCR8qy2NlRdaXS7nhBjQPeu0SFoEVHnMaARaVCTpQ1llbVu1ycOuYYBjSIWpxyJiEgVGNCIiEgVGNCIiEgVGNCIiEgVGNCIiEgVmOVIpBI/NraivsXq+LnVEI8Wiy2ELSJSFgMakUrUt1hx4F+XHD9f+OEC/vPn3UPYIiJlccqRiIhUgQGNiIhUgQGNiIhUgQGNiIhUgQGNiIhUgQGNiIhUgWn7ROQgdqwMj5ShSMGARkQOYsfK8EgZihScciQiIlVgQCMiIlVgQCMiIlXgGhoRyRJLFAGYLELhhwGNiGSJJYoATBah8MOARkR+kRq5GaIAa5vzNY7mSAk6QRCEUDci0L799ltYrVbPDyQiijAGgwE33HBDqJsRllQZ0IiISHuY5UhERKrAgEZERKrAgEZERKrAgEZERKrAgEZERKrAgEZERKrAgEZERKrAgEZERKrAgEZERKqgyoD27bffBuR1zp49G5DXiQRa6atW+glop69a6SfgW18D9T0YSVQZ0AJVx7GpqSkgrxMJtNJXrfQT0E5ftdJPwLe+arGerSoDGhERaQ8DGhERqQIDGhERqYJmDvi0WCyoqqpCc3OzT8+pqKgIYqvCh1b6Ggn97NKlC/r16wej0RjqphBFFM0EtKqqKiQkJGDAgAHQ6XRePaepqQmxsbFBbll40Epfw72fgiDg8uXLqKqqwsCBA0PdHKKIopkpx+bmZiQlJXkdzIhCQafTISkpyaeZBCJqp5mABoDBjCIC/50S+UdTAY2IiNRLM2toFDzl5eV48cUXodfrceutt2L+/PlO95ubm5GXl4fLly8jLi4OL730Enr27IlDhw7htddeg8FgQFJSEl566SXExsZi3rx5qKurg9FoRExMDN55552gtn/Xrl0oLCyEzWbDHXfcgSeeeMLpvlQ7vXX06FG88sor2Lx5MwCgoqICS5YsgV6vx4ABA/Diiy8iKop/WxJ1Fv8vok5bsmQJ1qxZg8LCQhw9ehQnTpxwul9YWIghQ4bg/fffR0ZGBtatWwcAWLp0Kd58801s2bIF/fv3x/bt2wEA58+fR2FhITZv3hz0YNbxvXbs2AGLxQKLxeL0GKl2euNPf/oTnnvuObS0tDiuvfHGG3jiiSdQWFiI1tZW/O///m+guuOTojITJhQUY2D+HkwoKEZRmSkk7SAKFI7QFLJr1y588sknaGhowJUrV/DEE09g2rRp+OKLL/Dqq69Cr9fj+uuvx7Jly9DS0oI//OEPqK+vx5UrV5CVlYWcnBzk5uaiR48euHr1Kp5//nn8/ve/h8FggF6vx8svv4zevXujoKAApaWlAIB77rkHc+bMQX5+PqKjo2EymXDx4kUUFBRgxIgRmDRpEgYNGoRBgwbh6aefdrT1t7/9LRobGx0/Dx48GEuXLhXtV0NDA1pbW5GSkgIAuPXWW3Ho0CGMGDHC8ZjS0lI88sgjAICJEyc6AtrmzZtxzTXXAGgv0xMTE4NLly7h6tWrmDdvHq5evYq5c+di0qRJOHDgAE6ePIm5c+c6XreqqgpPPfUUevXqherqakycOBELFy50ap9rX/r3748VK1Y4fv78888xcuRILF68GDU1NZg3b55burxYOwFgzZo1+PLLLyEIAn7zm9/g7rvvdvv9pKSk4PXXX8fvfvc7x7Xhw4ejrq4OgiDAbDbDYFD+f8OiMhOe3XUMTRYbAMBU14Rndx0DAGSkJSveHqJAYEBTUGNjIzZu3Ija2lpkZWVh8uTJ+OMf/4j3338fSUlJeO211/CXv/wFI0aMwPTp0zF16lRUV1cjNzcXOTk5AIBf/OIXmDJlCrZs2YIRI0YgPz8fJSUl+PHHH/HNN9+gqqoK27Ztg9VqRU5ODsaPHw8A6Nu3L5YtW4Zt27Zh69atWLZsGS5cuIBdu3ahR48eTjXi3n77ba/71NDQgPj4eMfPcXFx+O6779wek5CQ4LhfX18PALj22msBAB999BGOHDmCBQsWoLa2Fg899BAeeOAB/Pjjj8jOzsbo0aMxceJETJw40e39TSYT/vu//xsJCQnIycnBiRMnnIKpa19ca+FduXIFJSUlKCwsREtLC7Kzs7Fjxw5069bN8Rixdu7fvx9VVVX44IMP0NLSgpkzZ2LChAlOzwOAadOmoaqqyunagAEDsGzZMqxfvx4JCQkYN26czG84OFbvPeUIZnZNFhtW7z3FgEYRiwFNQTfddBOioqJwzTXXoFu3brh48SIuXryIBQsWAGhfa5owYQJuv/12bNq0Cf/85z8RHx/vVGTUvjfp17/+Nf70pz/hkUceQUJCAhYuXIjKykqMHTsWOp0ORqMRN954IyorKwG0jwoA4LrrrsNXX30FAOjRowd69Ojh1k5PI7T33nsPe/fuBQAUFBTAbDY77pnNZrcv9fj4eMdjXO+/++67+Mc//oF33nkHMTExuOaaazB79mzHetXw4cNx5swZJCUlif5Ohw0bhsTERADA6NGjcebMGaeA5mmElpiYiJ///OeIj49HfHw8Bg8ejLNnz2L06NFO7+Pazn/96184ceIEcnNzAbSP3L7//nvH+tstt9yCxx57TLTNL774IrZs2YIbbrgBW7ZsQUFBAZYsWSL62GD5vk68yK3U9XBSVGbC6r2n8H1dE/omxiJnVDz+/c+bNI4BTUH2taVLly6hoaEB1113Ha677jqsW7cOCQkJ+OSTT9C1a1f8+c9/RmpqKnJycnD48GHs37/f8Rr2lO5PPvkE6enpmD9/Pj788EO88847mDp1Knbt2oXf/OY3sFgsKCsrw69+9Sun53UklYjgaYR2//334/7773f8bDQacf78eVx//fX47LPP3JJCxowZg/3792P06NE4cOAA0tPTAQDr16/HiRMn8O6776JLly4A2qcAt2zZgg0bNsBsNuPbb7/FoEGDJNtSWVmJpqYmREdH4+uvv0ZmZqZsX1xHaGPGjMH777+PlpYW2Gw2VFZWOqZP7cTaOWjQIIwbNw7Lly9HW1sb1q1bh379+jkSP+R0797dMaq99tprHX9gKKlvYixMIsGrb2L4bjoHxKdK137ejOS+Jo4siQFNSZcuXcKcOXNQX1/vyHL7wx/+gLlz50IQBMTFxeHll1+GTqfD0qVLsXv3biQmJkKv16O1tdXptUaOHIm8vDy8/vrriIqKwrPPPosRI0bgiy++wKxZs2CxWHDXXXc5jVaC5YUXXsAzzzwDm82GW2+9FTfeeCMA4KGHHsJbb72F7OxsLF68GNnZ2TAajVizZg0uXbqEN998E//xH/+BRx99FABw9913IycnB5999hlmzpyJqKgoPP300+jZs6foGhrQHkyfeuopXLp0CXfddReGDRvmU9uHDh2KzMxMZGdnQxAEPP7440hMTMShQ4dQWlqK2bNni7YzOzsbX3zxBXJyctDY2Ig777zTaepVzooVK7Bw4UIYDAYYjUYsX77cpzYHQt60oU6BAQBijXrkTRuqeFt8ITZV2mITOFVKAACdIAhCqBsRaBUVFY4pNrlrngSyTNKuXbtw+vRpPPPMMwF5vUAL95JQly9fxvbt2zFv3jzHtaqqKjz99NPYtm2b168T7v208+ffq6+v4Tp1lzdtaNgHhYH5eyD2haUDcKZgutLNUZwv/y4C8W8o0nCERhFBEAQ89NBDoW6GqmSkJYd9AHMVqVOlpAwGNIXMmDEj1E2IaPa0+Y769evn0+iMIp/YVGmMXhf2U6WkDE0FNEEQWCePwp6SqwCRNu1ob5trlmM4t5mUo5mA1qVLF1y+fJkV9yms2Y+PsWdTBlOkbq52nSoN9/PtSDmaCWj9+vVDVVUVampqvH6OxWLRzCGLWulrJPTTfsBnsHFzNamNZgKa0Wj0+cBELWUJaaWvWumnN8SSK+SuE4U7Ficm0ii9zNQ7CxVTJNLMCI1Iy8SSP2wyySdy046RlkhC2sGARqRyYskfeTuOyj5HqqZjpCaSkDYwoBGpVPHpejzy12LRNTGLTX5rgNRG5Rd2nwirRJKiMhNWfngeNebTHC0SAxqRGhWVmbD280to8RC4xEjVdCwqM+FKo0XkGaGp0s/RIrliUgiRCq3ee8qvYKbX6bBqxijRgLB67ynJ54Wi9JTctgPSJgY0IhXyNGLSR4lnOGaPu15ydCP3mqEoPRXJZ7pRcHDKkUhlispMiNLpJLMY9TodbG3i9/adlC48IFUYODHW6PMUXyAyJVmomFxxhEakIvZ1JbFgZv+fXS5d39MoLNaod7oWa9Rj6S99O3PP3kZTXRME/LT25eveN6n2sFCxdjGgEamI2LqSXZsXz5cb3WSkJWPVjFFIToyFDkByYqzkepuUojITFm07GpC1L3t7ro0z+N0eUhdOORKpSGfXj2rNLUhb9k/UNVpEpwI7c4aa3OgR8K/tGWnJGNrlKsuZEQCO0IhUpbPrR02WNlxptDimAhduLcdzRccC0ja50SPAtS/qPAY0IhURW1fqDAHAlsPnA1LbUW4EppW1r6IyEyYUFGNg/h5MKChmzcwAY0AjUpGO61yBIgBYtO1op7+EpUZgcnvf1CRQyTAkjQGNSGUy0pJxMH8y8m7rFbDXtAlCp7+EpbIS18y8UfXBDOBGcCUwoBGp1ORBCUF5XX+/hAORJRnJuBE8+JjlSKRC9qK9weLvl3BnsiQjHTeCB59iAa2trQ1Lly7FqVOnEB0djRUrVqB///6O+8XFxXjzzTdhMBiQmZmJmTNnAgAyMjKQkND+l2a/fv2watUqpZpMFJFci/YGQzh+CYf7OW1504a6fS5aSYZRimIB7eOPP0Zrayu2bt2K8vJyFBQUYP369QAAi8WCVatWYceOHYiNjUV2djYmTZqEbt26AQA2b96sVDOJIp6n9PjOCscv4UiovG9vRzgH3UinWEArLS3FbbfdBgBITU3F8ePHHfcqKyuRkpKC7t27AwDS09NRUlKCvn37oqmpCQ899BCsViuefvpppKamKtVkoohTVGYSndYKlB5djVjyixFh9yUsl3ARTm3V8pSrEhQLaA0NDYiPj3f8rNfrYbVaYTAY0NDQ4JhWBIC4uDg0NDSgS5cuePjhh5GVlYWzZ8/i0UcfxT/+8Q8YDPLNbmlpQUVFRafb3NzcHJDXiQRa6aua+1l8uh5rP78U1Pcw6gQM7XIVFRVXg/o+UopP12PTV1dQY7aiV5wBc8b0wC19jbIJF2r6vJubm71+rNVqVVXf7eSqwigW0OLj42E2mx0/t7W1OQKT6z2z2YyEhAQMHDgQ/fv3h06nw8CBA5GYmIiamhr06dNH9r1iYmICUgqnoqJCMyV1tNJXNffzkb8W+3UGWkc6HXDfuBS8d1g8oaTGbHX7/Sm1dlVUZsIbh885RmIXzVa8cbgWGN9TNuFCTZ+3LwHKYDCoqu/eUCxtf8yYMThw4AAAoLy8HEOGDHHcGzx4MM6dO4e6ujq0traipKQEaWlp2LFjBwoKCgAA1dXVaGhoQK9egdtbQ6QWzxUdC8hUoyAAO0tNSIw1it53TQZRcrOw1LTipq+usPI+AVBwhDZlyhQcPHgQs2fPhiAIWLlyJXbv3o3GxkbMmjUL+fn5ePjhhyEIAjIzM9G7d2/8+te/xrPPPovs7GzodDqsXLnS43QjkdY8V3RMckTljyaLTTSpRCxA+Lp21ZnRnNS0Yo3ZyoQLAqBgQIuKisKyZcucrg0ePNjx35MnT8bkyZOd7kdHR2PNmjWKtI8oUhUe+S7o75EYa8TSX7ong/iyWVgsE3HB1nIs2FqOZC8CkNS0Yq+49q8xJlwQK4UQRTi5AzsDJS7GIBospPajiV2X207gzVRl3rShMOp1TteMeh3mjOkh13TSEAY0ogjUsWq7Er6vaxKtFC9V3d9U14TUF/7pFKA8VRfxqqSWa+wOfiynCMKARhRhXBMxlJK3/ahb8gcArJoxCj26uieR1DVZkLf9qCOoeVNdRC7ord57CpY25x5b2gS8dSS4WxUocjCgEUWYYFcCESMAbsGkyWLDgq3leGH3CdQ1WkSfZ2kTHKOuvGlDoRN91E/kgp5UsKtvFXgECwFgQCMKK94cABlu1dntJ1xLsbc3Iy0Z941PkQxqntLs5YIdj2AhgAGNKGx4u6eru8QesXDVMRCtyBiFV2eluh1AqtfpkJkun6UoF+zCLchTaDCgEYUJbw6ALCoz4Wqz+PReuJo0zLkYQkZaslsyiU0QsLPUJDl1aN+/JiUcq/+T8rhLmShMeNrTZR/BtUVYZt++kzVu13zZkO3pOJwYvc5p9GYPfqa6Juh1OtgEwat9bhT5GNCIwoSnAyBDkQwSCGKB2pcN2XL9Tk6MRc6oeEegcg1+9j164XicDAUepxyJwoSneoRy60SesgdDSWw6UGqKsHus0S0pRq7fedOGYvKgn07qkAt+Xu1zo4jGgEYUJjLSkrFqxigkJ8ZCh/bRx6oZoxwjCrl1onCehWxstbqtjYkFb2OUDuZWq1tSTKLIHjc71wDlKTmEySPqxilHIoXJFeiVq0eYN22o7FpSuLrS2L7B2r5fzd7nzPRkFB75DjZBgF6nQ7QhCuZW93W1GIP0392uAUpq2rbjfVIvjtCIFNSZ41bsIzixqhzhztImOParmeqakLfjKLZ+8Z1jjcsmCG7BzO7HJovXx9lIleICeJyMFjCgESnIm9R8TxparIFuluIsNsGt8oiUvomxWPrLEV6dd9Zx2hZo398GuE/fkjpxypFIQb5k94l5YfcJWDp5KnUksQctufPOKiquOj1HatrWXoWF56WpFwMakYI8peZ7ckWiZqIauZ7B5st5Z67rlJOG9cLOUpPTWWxKpvF35mBT8h4DGpGCxBI75NZ2XL8IteTHJguW/u0EFm4t9ykIiB0kuuXwebdMULmTtQNJrD3cExccXEMjUpCn1PyOxBJItERA+xE0vibPiK1TSk3SKpHGH4h1U3/Y2gT82Nga1PcINxyhESnM26mzSK0MEizejqh8CVJKjHo7u27qL1ubgPoWK7p3jQ7q+4QTjtCIwhQ3Abvz5nciFaRcq6kolcYv1R6tTSErgQGNKEzxC8+dN78TqRJi941P8WqqN9A8lTSjwOGUI1GYitTKIMHibRCQS/EPhXBrj5oxoBGFKdcvwqh/H4WiRb4e/+JLir8Swq09asWARhTGOn4RDszfE+LWhIYOwMH8yaFuRsTR6QCZMpiqpLHuEkUura6pabXfnSUIgLUt1K1QFgMaUYTQahJBZ/ttL3nV8Yw1UicGNKIIkZGWLFl1Xs06s/bUmdMNKPJwDY0oQmj5S1iuFmLx6Xo88lfxosNyVTqYpKE+DGhEEcC1HqCWSNVC3F5yHodO16LjKTSudRJDVaUjHOh0gNXWhh8bWzVTLYRTjkQRQMtlsBZtOyo6yjpY6RzMOt6z10nUcpUOQQA+r6xFvQrOz/MWAxpRBNDCiEKKP3vv7L+vScN6id6Xuk6RjQGNKAJoYUQRSPbf176TNaL33zt8Hs8VHVOySaQArqGBh+9R+PF0QCVJ61giS25k+97h8wCAFRmjFGkXBZ/mR2hM66VwI/Zv8r3D52Fr09guWRd6nc5RWHjC4J6ij4k1RjkVHfY0si088l2gm0khpPmAFqrD94ikSCWAtNq0WcfRLqGLAa/OSsXB/MnY8ujNuH98CvS69kNh9Dod7h+fgorldzvNrohVuu9IzbUxdTogLSURVlsbqq40oupKo+oP/NT8lKOW03opPPHfnri6JotTSv6KjFFYkTEKFRUVGD58uOhz7MFtwdZy0fv2gKhGggCUna9zujZxyDWqTuHXfEDrmxgrerQ9F+FJCWLrt1L/Jsm/TdEZackoOVfrWDPrKHvc9YFsniiu0StH81OOPHyPQqGozIS0Zf/Egq3lbuu3k4b1gjFKvSOHzvq+rsmpPuOcHec9rnmP7d8TepffqT5Kh7H9xdfiAoVr9MrSfEDLSEvGqhmjQnKSLWmT/UvuSqPF7V6TxYadpVWqXtvpLAFw+kPgotnqMUis3nsKNpdd2LY2Iehr5VyjV5bmpxwBHr4XySJxOsdT1Y8mi7azGf3haSoyVGvlXKNXFgMaRSypGn9A5yq0Bxu/zIJD7vcaqrXyUK7R27McO7JnPMpJiDFEbOIIAxpFrEitpM6kj+CQCxJ504a6FXfWIfglsMTeV6k1erEsR29Eciak5tfQKHJF6nSOp71R5DtPQSIjLRmZ6cnomBYiANhZagpqggbX6JXFERpFrEjdctHxrC5TXRN0aP9yJf95EyT2naxx+z0rMaLnGr1yGNAoonRMAknsaoQxSgdLh+y1SNly0fFLrqjMhEXbjjKz0U/e7nCI1BE9eY9TjhQxXPf0XGm0ADogMdYY0dM5GWnJWDPzRrdpSPv3tJqrWQRCmwCv9nZp+Ww0reAIjSKGWBKIxSYgLsaA8iVTQ9Sqzuk44uwea0QXYxTqGi1uWxDu+9MhHKysDXFrw1eTxYaF29rLW0n9QTNpWC/RaiG+Joa4zhIIAvBjk/tnFmpiWY7e8CYTMlACnVHJgEYRQ21TRq7bDuqaLI71tB9+bMaCreVYvfcUJg3rhc8ZzDwSBCBv+1EA4kFtz9cXRJ8ndWaaGNfPrOPm+HDbNuJvlqOSAp1RySlHihiROGXUsUTThIJip2kxsRGnfRXNvp5mPzqGq2vesUhU/ygqM4lWZgF8+4PI86Z4VgEJJQY0ihiRVndTrI7fwq3lGPDv4Ma9aMEh9ntd+rcTko+P0ulE/+AQ403wi9QZAzVgQKOIEWl7euRGYPZ0fQo8sSSauibx0RnQPhr2tnCwN7MB4TxjoHaKraG1tbVh6dKlOHXqFKKjo7FixQr079/fcb+4uBhvvvkmDAYDMjMzMXPmTI/PIe2JpD09nv5S5zRicHRm+4OnfWlilT86CqcZA3+TQpTkSwKKNwkkigW0jz/+GK2trdi6dSvKy8tRUFCA9evXAwAsFgtWrVqFHTt2IDY2FtnZ2Zg0aRLKysokn0MU7hK7GiXXbSh4kkVGSD18+CxMdU2YUFAsWvC646b4cM9yjISkEF94k0CiWEArLS3FbbfdBgBITU3F8ePHHfcqKyuRkpKC7t27AwDS09NRUlKC8vJyyefIaWlpQUVFRafb3NzcHJDXiQRa6atS/Sw+XY+rMtNcFDw5o+JRUVGB4tP12PTVFdSYrYiP9m2C174OZ6prwjPby/HHvxxFQ6uAXnEGzBnTA+/c20fimVdRUXG1kz2Q1tzc7PVjbTYbLvwgntkZiS731KH+h3OSp5MDCga0hoYGxMfHO37W6/WwWq0wGAxoaGhAQkKC415cXBwaGhpknyMnJiZGttPekjvaXW200lel+vnIX4th45yionQA7hufgiemj0JRmQlvHD7nmBqsb/XuwxArQ2Zt++n5F81WvHG4Fsl9QzP17csfY3q9Hn2ukwq8kSfpmiT06yF/wrhiSSHx8fEwm82On9va2hyByfWe2WxGQkKC7HOIwhkz3ZSVnBiLV2elYkXGKADS6fWu4zSjXudUacabsMfU/PClWEAbM2YMDhw4AAAoLy/HkCFDHPcGDx6Mc+fOoa6uDq2trSgpKUFaWprsc4jCmVSmW3JiLF6blcpq+wF0bZwBB/MnO42YpP6gEACnLNnVv74R5Uum4kzBdBzMnyy6/iaGf7CEJ8WGO1OmTMHBgwcxe/ZsCIKAlStXYvfu3WhsbMSsWbOQn5+Phx9+GIIgIDMzE7179xZ9DlEkkDsHyzWxIEqnY2HiTqgxW92uSZ3EkJwYi4P5kyVfy1MWY8fXD3fBznKM1usQo+AfZgkxnsOVThDU939SoNZJtLKuBGinr0r2s2PNP7kMuIH5e5jC3wnXxhnwxR+nOV1zLVHVkV6nQ/a46x3Tk65cazU2NFvdTnQI1f5HX/79Hj12AicaEzw/0E8Th1yDfj26Bu31/cEFKaIg8XbPHE+w9l+sUY85Y3q4Xc9IS0bJuVoUHvnObfRrEwRHkWKxoOb6uXn7hwmFHgMaUYjlTRuKhVvLOUrzUWKsEUt/OQJDu7inyReVmbCz1CQ7lVt45DvJUVpH/m7mZyBUHgMaUYhlpCVjwdbyUDcj4iz95YgOAeMCJg3rhX0na7xelwzmuqXrlGe4VeJXKwY0on8L5V/UyZx29Fne9qOOtS37qQR23gSrYB6cKrZtwFNZLeo8BjQihP4vaqnDJ0lax0QNf2SPk9+k2xnhcHafpyzHzmYpepN1qLTwaxFRCIT6L2pfDpmkztHpgPvGpXi1fuYvqUQfJdP9PdVyDMcsxc7i8TFECP1f1HLvY4ziQTOB1MWgx9j+PYP6HpF2dp9aMKARIfSnYUu9jw7Azwf2QBCXe1uD4gAAACAASURBVCKSUa/zO9AHu3SVfS22yWJzrNOF+9l9asGARoTg/kVdVGbChIJi2VOR86YNFT3wUwBwsLIW6it/4D+9TofVv74Rq7NudCpj5Ytgjbw7nlIOtCenuFaIoeBhQCNC8E7D7vgFJ3cqckZaMveheWnNzBsde8MO5k/G3+cM8qkOIxC8kbfcWiwFH5NCiP4tGKdh+5JswtR9z+T+Ave2DmMw17JCvRbbUccsR7GMxnDMUuws9fWIKIzIfcG57nubNKwXdpaaPH4ha1kbgKV/OyH6h4dr0Wf7XkKxa8Ga/guH7Ea7jlmOasxoFMOARhREUl9w3WONbvvedpaakJmeLFp/kH5S12RBUZlJMqjZr7v+wfDqrNSgBTL7e5nqmtwOCWV2o3K4hkYURFLJJjodRKci952sQRuDmUcv7D4he19s7XLh1nI8V3Qs4G1xTQQR8NNBosxuVBYDGlEQSSWb1DVaRB9vH01oXY+uRtw/PkXy/pVGi2i2qJ3Y2qUAYMvh87LP84fUe9nPXmMwUw4DGlGQ2bPx7KciZ6Qly+57ExvVadHY/j3Ro6tR8r5c5qDcidWBzjiUeq9QJ/jYk0LGDeyhygQQMQxoRCEgt+/NPqpLjJX+Mle7K40W5O04iumj+0g+Ri5gyI1yA51xKLcpPtCjQV/Yk0JijHp07xodsnYoiQGNKAQ87XvLSEtG+ZKpeG1Wqt+bhyOdxSZg38ka0Q3ngHy1fKmN6kDgMw7lNsUv2FouuZmeAk8b41CiMOTNvjfXxwzI3xPsZoWV7/+d1CFGLhPUfmL1lsPng55x6Ok8O56FphyO0IgiRDAy9MJd38RYyXU0TyPWFRmj8KrLCDdYGYee2sJqIcrgCI0ojHXcS6XGZP7kxFjUmlvQZGkTvT8gKRZfnLnidt2o10mOtEJxUKs3VUpCUS1EaxjQiMKU66GjamNPay8qMzmdPt3R55W1ooE8LtqAjLRkFJWZsPLD86gxnxattqLUdF/HKiVSySpKb8fQ6aCpDEeAU45EYUtsf5Oa2EdYGWnJWJ11o2iSh9So9Md/Vwt5dtcxXDRbHZun3zt8PmTFge3bM16blRoWZ6EJAjSV4QhwhEYUttQ+RbV67ymUnKvFvpM1Pk+p9k2M9SngK7knTKqmJBNCgo8BjShMSdWBVAv7iMoTqdqIC2UyC13JpfgHQzBObiDPOOVIFKYmDesV6iaEXKxRj/vGp4hmKvqyJsViz9rAERpRmNp3sibUTQgZHSA7VVdUZkJjq9Xr19PapnStYkAjClNqnm6UY89+lOJr9qdWj2/R6QCDxubgNNZdosih9LpPOPAm+PiSDKLX6TR7fIsgAFbx7X2qxREaUZhS+7pPj65GTB/dx5Hl2PGE6QkFxZIZgr5kf7YJgiaDmVYxoBGFqWSJLMfkxFj88GNzxAc8QWg/ImZFxijHNdfpRLGN0b5kf/JsOW3hlCNRmJI7YibSgxkA1DVZsMDlFGmx6UTXjdFivxejXgdjlPMUrVbXzrRMcoR26623AgAsFguamprQp08f/PDDD0hKSkJxcbFiDSTSKrkNunIlliLNlsPnMbZ/T2SkJUtOJ3a87vp76RVnwO/vGel0jZuZtUkyoH322WcAgGeeeQaLFi1Cnz59UF1djVWrVinWOCKtk9qgmzdtqOyRJZHEfoq0fW+ZWKB2nTrs+HupqKjA8OE/nSNH7fRROk3VcQS8mHKsqqpCnz7tp8b27t0bFy5cCHqjiEheRloyolSUBGkfgclNs5Jv9FE6TdVxBLxIChk8eDDy8vIwevRolJeXIz09XYl2EZEHIsXpQ0qv0/m9tmcfgbEOInWGx4C2fPlyHDhwAP/3f/+H6dOnY/Jk6Q2PRKQcqSzIUIg16pGZnux0dIsvOpb5Yh1E8pfklGNJSYnjv00mE86cOYPq6mrYbOo9zoIokohNzwXb/eNTcLZgOl4TOQl6RcYorJoxyuNriNFymS8KHMkR2tq1a/E///M/WL16NcxmM6ZOnYrDhw9jxYoVWLJkiZJtJCIX9lOZlT4vrfCL7xwZia6jKHub/KH2o3JIGR6nHL/++mts2bIFAHD77bcjNzc36I0iImmhPMna1ibghd0nRINZZ9oUpdNhYP4erplRp0hOOV64cAEfffQREhISUFVVBQCorq5Gc3OzYo0jIndL/3YipCdZX2m0YGD+HkwoKEZRmQlA50/XtgmC49TpZ3cdc7wukS8kA9rvfvc7nDhxAjabDR9//DHq6+sxe/ZsLFy4UMn2EVEHRWUm1DVZQt0Mt+Dj75Sh2NYD18ogRN6SnHKcMmUKpkyZ4nRt3759jv/+4IMPMHv27OC1jIjchNsXvT34+HO6dqxRLzmq45oa+cPvWo5///vfA9kOIvJCOH7Rm+qaJDMu7SMwsaNwmiw2ySNyWFSY/OF3QBNUUByVKNKE6xf9wq3l6GKMQqzR+SulTWgfiUltuLYJAiuDUMD4HdB0Gjx8kCjUQrH3zBsC2pNFmi3uJ0rKjcTse9hc97Qxy5H8weNjiCJIRlqyWwAIJ1LzNhyJkRL8LsXMKUei0HDd1Dwwf49kIAkXyf/eX+ZaoxGAxwM9ibzlcYS2bt06p5/XrFkDAMjLywtOi4jIJ+EWzFwnF+0jsYy0ZBzMn4wzBdNxMH+y41w3Twd6EnlLcoS2fft27NixA5WVlThw4AAAwGazwWq1YtGiRRg9erRijSQiaaEsUuyaem8vUrzvZI3bSGxCQbFbBX1vDvQk8pZkQLv33ntx88034+2338a8efMAAFFRUUhKSvLrjZqbm5GXl4fLly8jLi4OL730Enr27On0mG3btuGDDz6AwWDAY489hkmTJkEQBEycOBEDBgwAAKSmpmLRokV+tYFIjfKmDUXe9qOwKHyeTGKsEUt/OcLjUS+uZbE6Tit6e6AnkTckA1p0dDT69euHJUuW4C9/+QsuXLiAcePGISYmxi0QeaOwsBBDhgzBk08+iT179mDdunV47rnnHPdramqwefNm7Ny5Ey0tLcjJycGECRNw4cIFjBgxAm+99ZZ/PSRSOXsAWfq3EyGpInIwX/5IKblpxbxpQ91qQDJZhPzlcQ1tyZIl+P7773Hw4EGYzWYsXrzYrzcqLS3FbbfdBgCYOHEiDh065HT/66+/RlpaGqKjo5GQkICUlBScPHkSJ06cQHV1NXJzc/Hoo4/i9OnTfr0/kZplpCWjfMlUp6NdAPf1rECqa7LI1l0sKjNhQkGx5HTo93VNolmbTNsnf3nMcjx//jxefPFFlJaWYvLkydiwYYPHF92+fTs2bdrkdC0pKQkJCQkAgLi4ONTX1zvdb2hocNy3P6ahoQG9evXC3Llzcffdd6OkpAR5eXnYuXOn7Pu3tLSgoqLCYzs9aW5uDsjrRAKt9FUL/RzaBXjn3j5obm7GC/svo/yHlqC9V5PFhpUfHsfQLledrhefrsfazy+hxSY9DdorzoCKigpHe39yFRUVVyWf50oLn6mdL8XhrVarKn8vw4cPl7znMaDZbDbU1tYCaA86UVGet65lZWUhKyvL6dr8+fNhNpsBAGazGd26dXO6Hx8f77hvf0xCQgJ+9rOfQa9v378yduxYVFdXQxAE2Y3dMTExsp32VkVFRUBeJxJopa9a6ScAvLnnCxwNYjCzqzFb3X6nj/y1WDaYxRr1+P09IzF8eOdHYlr6TH0JUAaDQTO/FzuP0WnBggXIzs7G8ePHMWvWLDzxxBN+vdGYMWOwf/9+AMCBAweQnp7udH/06NEoLS1FS0sL6uvrUVlZiSFDhuCNN95wjPZOnjyJvn37skoJkRfe/uJyp1L6uxqjvKpKIpbAIZelyGlFChaPI7Sf//zn2Lt3L2pra/1KBrHLzs7G4sWLkZ2dDaPR6NjPtnHjRqSkpOCOO+5Abm4ucnJyIAgCFi5ciJiYGMydOxd5eXnYv38/9Ho9Vq1a5XcbiLSiqMyEqy3uZah8sXJG+9YcexZj91gjzK1WWDqMvKQSOKSyF5MTYz0mkRD5y2NAmzp1Kmy2nzKQDAYD+vTpg7y8PIwYMcLrN4qNjcXatWvdrj/44IOO/545cyZmzpzpdL979+5erdsRaVlRmckpfd7cYu30a9pHUB1HUq7vI3W6NLMXKRQ8BrTx48fjrrvuwtixY1FWVobt27cjMzMTK1asQGFhoRJtJCIZYvu8OkuqRqRr2S0p9sd4E/yCzdsgTJHPY0A7c+YMbrnlFgDAuHHjsG7dOtx888144403gt44IvJMbJ9XZxj1uoCMpLwNfsEkt6k71G2jwPOYFBIdHY3CwkKcPHkShYWFiI6OxvHjx52mIYkodAJeJircikN2AmtFaovHgPbKK6/g7NmzeOWVV/Ddd9/h5ZdfxuXLl/Hiiy8q0T4i8iDQZaIsbYJqvvBZK1JbPE45rlixwpGRaHf77bcHrUFE5BuxBIzOCtQXfqjXr1grUls8jtBaW1tx8uRJtLS0oLW1Fa2trUq0i4i81LF8VKAE4gvfvn5lqmuCgJ/Wr6RKZQWD2AnfzLZUL48jtLNnz+Lxxx93/KzT6fDJJ58EtVFE5Bt7AsaA/D2dfi0dEJAvfKn1q0XbjgJQJikjnLItKfg8BrTdu3cr0Q4iCgC9TgdbJ0+Tv298Sqe/8IvKTJLbB2yCoGimYThkW5IyPAa0Tz75BO+//z4sFgsEQUBdXR2DHFGY6mwwM+p1GNvf/4pAwE9TjXLsmYYMNBRIHtfQ3nzzTcyfPx99+vTBr371KwwZMkSJdhGRHzq7jmaxdT7D0dt9caa6Jgx+9u8YkL8HEwqKFV1bI3XyGNB69OiBtLQ0AMCMGTNQXV0d9EYRkX/EkiDEyD1GLMPRfrbZQC+Cjy8ZkvYRZSgSRkh9PAY0o9GIL7/8ElarFZ9++ilqamqUaBcR+cGe8dijq9Htnv2MCnu1e6nRnGuGo6/Ziv5mSHLDM3WWx4A2evRoWK1WPPbYY9i2bZtX56ERUehkpCWja7T78riA9mCWN20oVu89JZq0YYxqL3vVcUS2aNtRn6ptiI0SjVE60SDrihueqTMkk0K2b9+OHTt2oLKyEj/72c8AtB/22aVLF8UaR0T+kQoM9tGV1BpXG4CSc7XYWWpyPEYq0UTqPeRS5ScUFMsWT+aGZ+oMyYB277334uabb8bbb7+NefPmAQCioqKQlJSkWOOIyD9SFTIAyCZs2NoEbDlyHt4kS8oFH6lUebmqJtzwTJ0lGdCio6PRr18/LF++XMn2EFEA5E0bigVby/16rjfBzN/g03H0ZqprcuybS+aGZwoAj/vQiCjyZKQl+x3QpOh1OrQJQqerbXCjMwULAxqRSl0bZ8BFs+8nV3c1RkGAzu206VUzRjEQUVhjyiKRSs0Z08OrPWkdGaN0WDljtCOtX4ef0vwZzCjccYRGpFKTByUguW+yZIq+ndRUIgMYRRoGNCIV67he9VzRMWw5fN7pQGpOJZKacMqRSCNWZIzCq7NSOZVIqsURGpGGMMOQ1IwBjYhQVGbiIZgU8RjQiDTOXnzYnqZvL48FiCeGBDL4MZBSIHENjUjjxM4vkyo+7GvlfTmBfC0igAGNSPOkigyLXfcl+HkSyNciAhjQiDStqMyEKJ1O9J5Y8WFfgp8ngXwtIoABjUiz7FN+YsfDuBYftp+PJlW32J9jX6SewyNkyF8MaEQaJTblB7RXDum4P63jWpcYfyvvix0EyiNkqDOY5UikUVJTe22C4BTMFm07KnnIp9ixL95mLsodBErkDwY0Io2SOgTUPuUnNyUJADoAB/MnO13zdQsAN3pTIHHKkUijPE35SU1J2omtdTFzkUKJIzQijfI05SeXbSi11sXMRQolBjQiDZOb8pOaknRNGvHmOcxcJCVwypGIRElNSa6ZeaNkEGTmIoUSR2hEJMqfLMRIyVxkDUl1YkAjIkkZackoOVeLwiPfwVTXhEXbjqLkXC1WZIySfU44BwdfMzEpcnDKkYgkPVd0DO8dPu9I3bcJAt47fB7PFR0Lccv8x0xM9WJAIyJJhUe+8+l6JGAmpnoxoBGRJKlN1VLXIwFrSKoXAxoRSdJLVOKXuh4JmImpXkwKIdI4uYy/7HHX473D592ekz3ueqWbGTCRkolJvmNAI9IwTxl/9mzGwiPfwSYI0Ot0yB53vWyWYyQI90xM8g8DGpGGyWX82b/wV2SMivgARtrAgEakAVLTisz4IzVhQCNSOblpRdZeJDVhliORyslNKzLjj9SEIzQilZObVmTGH6kJAxqRyklNKwoAJhQUI2/aULeTp4kikWJTjs3NzXjyySeRk5ODRx99FLW1taKPq62txdSpU9HS0uLT84hInNi0op19Pa2ozKRwq4gCT7GAVlhYiCFDhuD9999HRkYG1q1b5/aYTz/9FA899BAuXbrk0/OISFpGWjJWzRiFZIlEDxbmJbVQLKCVlpbitttuAwBMnDgRhw4dcm9MVBQ2btyIxMREn55HRPIy0pJxMH8ypApWMU2f1CAoa2jbt2/Hpk2bnK4lJSUhISEBABAXF4f6+nq3502YMMHtWkNDg8fnuWppaUFFRYU/TXfS3NwckNeJBFrpq1b6CYj3tVecARfNVrfH9oozROzvRWufqbesVqsqfy/Dhw+XvBeUgJaVlYWsrCyna/Pnz4fZbAYAmM1mdOvWzavXio+P9/l5MTExsp32VkVFRUBeJxJopa9a6Scg3tff39PNaU8a0J6m//t7RmL48MjMbNTaZ+otg8Ggmd+LnWJTjmPGjMH+/fsBAAcOHEB6enpQn0dE7jqup+kAJCfGYtWMUUzTJ1VQLG0/OzsbixcvRnZ2NoxGI9asWQMA2LhxI1JSUnDHHXf49Dwi8g8L85JaKRbQYmNjsXbtWrfrDz74oNu14uJij88jovAndzQNUaBxYzURBYWno2mIAo21HIkoKORqSBIFAwMaEQUFj6YhpTGgEVFQSB1Bw6NpKFgY0IgoKHg0DSmNSSFEFBQ8moaUxoBGREHDPW+kJE45EhGRKjCgERGRKjCgERGRKjCgERGRKjCgERGRKjCgERGRKjCgERGRKnAfGpGG8XgXUhMGNCKN4vEupDacciTSKB7vQmrDgEakUTzehdSGAY1Io3i8C6kNAxqRRvF4F1IbJoUQaRSPdyG1YUAj0jDXoGZPCGFQo0jEgEakYUzdJzXhGhqRhjF1n9SEAY1Iw5i6T2rCgEakYUzdJzVhQCPSMLnU/aIyEyYUFGNg/h5MKChGUZkpRK0k8g6TQog0TCp1HwCTRSjiMKARaVxGWrJbkJpQUCyZLMKARuGKU45E5IbJIhSJGNCIyA2TRSgSMaARkRvWeaRIxDU0InLDOo8UiRjQiEiUWLIIUTjjlCMREakCAxoREakCAxoREakCAxoREakCAxoREakCAxoREakCAxoREakCAxoREakCAxoREakCAxoREakCAxoREakCAxoREakCAxoREakCAxoREakCj48hIklFZSaeiUYRgwGNiEQVlZnw7K5jaLLYAACmuiY8u+sYADCoUVjilCMRiVq995QjmNk1WWxYvfdUiFpEJE+xEVpzczPy8vJw+fJlxMXF4aWXXkLPnj3dHldbW4vZs2dj9+7diImJgSAImDhxIgYMGAAASE1NxaJFi5RqNlFE6ThF2CvOgN/f083v0dT3dU0+XScKNcUCWmFhIYYMGYInn3wSe/bswbp16/Dcc885PebTTz/FmjVrcOnSJce18+fPY8SIEXjrrbeUaipRRHKdIrxotnZqirBvYixMIsGrb2Js5xpKFCSKBbTS0lI88sgjAICJEydi3bp1bo+JiorCxo0bkZmZ6bh24sQJVFdXIzc3F126dMGzzz6LQYMGyb5XS0sLKioqOt3m5ubmgLxOJNBKX9Xcz5UfnhedIlz54XEM7XLV59fLGRWPtZ83o8UmOK7F6HXIGRUfVr9DNX+mrpqbm71+rNVqVeXvZfjw4ZL3ghLQtm/fjk2bNjldS0pKQkJCAgAgLi4O9fX1bs+bMGGC27VevXph7ty5uPvuu1FSUoK8vDzs3LlT9v1jYmJkO+2tioqKgLxOJNBKX9XczxrzaYnrVr/6PHw4kNw3/LMc1fyZuvIlQBkMBs38XuyCEtCysrKQlZXldG3+/Pkwm80AALPZjG7dunn1WiNHjoRerwcAjB07FtXV1RAEATqdLrCNJopwUlOEAoAJBcV+BaOMtOSwC2BEUhTLchwzZgz2798PADhw4ADS09O9et4bb7zhGO2dPHkSffv2ZTAjEpE3bShijXrRe/aU+6Iyk8KtIlKOYmto2dnZWLx4MbKzs2E0GrFmzRoAwMaNG5GSkoI77rhD9Hlz585FXl4e9u/fD71ej1WrVinVZKKIYh9Jrd57SnSkZk+554iL1EqxgBYbG4u1a9e6XX/wwQfdrhUXFzv+u3v37tiwYUNQ20akFvYpwoH5eyCI3GfKPakZN1YTqZBUaj1T7knNGNCIVGjSsF4+XSdSA9ZyJFKhfSdrfLruCxYspnDFgEakQsEqW8WCxRTOOOVIpELBWkNjwWIKZwxoRCoktlYWa9Qjb9rQTr0uCxZTOGNAI1KZojITdpY6b6DWAchM73zVD2ZPUjhjQCNSGbFpQQGBSQgRq0YSiJEfUSAwKYRIZYI5LdixGgmzHCncMKARqUywzzFjwWIKV5xyJFIZTguSVnGERqQy9tHTyg+Po8Zs5bQgaQYDGpEKZaQlY2iXq5o74JG0jQGNSOVYqoq0ggGNSMVYqoq0hAGNSMXkSlX5G9A44qNwxYBGpGKB3pPGER+FM6btE6lYoEtVsTgxhTMGNCIVC/SeNBYnpnDGgEakYhlpyVg1YxSSE2OhA5CcGItVM0b5PT3I4sQUzriGRqRygSxVlTdtqNMaGsAqJBQ+GNCIyGssTkzhjAGNiHzC4sQUrriGRkREqsCARkREqsCARkREqsCARkREqsCARkREqsCARkREqsCARkREqsCARkREqsCARkREqsCARkREqqATBEEIdSMCrby8HDExMaFuBhFRwBkMBtxwww0eH/ftt9969Tg1UWVAIyIi7eGUIxERqQIDGhERqQIDGhERqQIDGhERqQIDGhERqQIDGhERqQIDmoiPPvoIixYtEr23YsUKzJgxA7m5ucjNzUV9fb3CrQscuX5u27YNM2bMwMyZM7Fv3z6FWxY4zc3NePLJJ5GTk4NHH30UtbW1bo+J5M+0ra0Nzz//PGbNmoXc3FycO3fO6X5xcTEyMzMxa9YsbNu2LUStDAxPfd24cSOmT5/u+BxPnz4dopYGxtGjR5Gbm+t2XU2facAJ5GT58uXCtGnThAULFojenz17tnD58mWFWxV4cv28ePGicM899wgtLS3C1atXHf8dif785z8La9euFQRBED788ENh+fLlbo+J5M907969wuLFiwVBEISysjJh3rx5jnutra3CnXfeKdTV1QktLS3CjBkzhIsXL4aqqZ0m11dBEIRFixYJx44dC0XTAm7Dhg3CPffcI2RlZTldV9tnGmgcobkYM2YMli5dKnqvra0N586dw/PPP4/Zs2djx44dyjYugOT6+fXXXyMtLQ3R0dFISEhASkoKTp48qWwDA6S0tBS33XYbAGDixIk4dOiQ0/1I/0w79i81NRXHjx933KusrERKSgq6d++O6OhopKeno6SkJFRN7TS5vgLAiRMnsGHDBmRnZ+Ptt98ORRMDJiUlBa+//rrbdbV9poFmCHUDQmX79u3YtGmT07WVK1fiP//zP3HkyBHR5zQ2NuL+++/Hgw8+CJvNhgceeAAjR47EsGHDlGiyX/zpZ0NDAxISEhw/x8XFoaGhIajtDASxviYlJTn6EhcX5zadGImfaUcNDQ2Ij493/KzX62G1WmEwGCL2c5Qi11cAmD59OnJychAfH4/58+dj3759mDRpUqia2ynTpk1DVVWV23W1faaBptmAlpWVhaysLJ+eExsbiwceeACxsbEAgPHjx+PkyZNh/eXnTz/j4+NhNpsdP5vNZqf/icKVWF/nz5/v6IvZbEa3bt2c7kfiZ9qR62fV1tbm+IKP1M9RilxfBUHAnDlzHP27/fbb8c0330RsQJOits800Djl6IOzZ88iJycHNpsNFosFX331FUaMGBHqZgXc6NGjUVpaipaWFtTX16OyshJDhgwJdbP8MmbMGOzfvx8AcODAAaSnpzvdj/TPdMyYMThw4ACA9qLcHT+nwYMH49y5c6irq0NraytKSkqQlpYWqqZ2mlxfGxoacM8998BsNkMQBBw5cgQjR44MVVODRm2faaBpdoTmi40bNyIlJQV33HEHfvGLX2DmzJkwGo249957VVXNumM/c3NzkZOTA0EQsHDhwog9vSA7OxuLFy9GdnY2jEYj1qxZA0A9n+mUKVNw8OBBzJ49G4IgYOXKldi9ezcaGxsxa9Ys5Ofn4+GHH4YgCMjMzETv3r1D3WS/eerrwoUL8cADDyA6Oho333wzbr/99lA3OWDU+pkGGqvtExGRKnDKkYiIVIEBjYiIVIEBjYiIVIEBjYiIVIEBjYiIVIEBjTRv165deOWVV5yuTZ48GS0tLV49Pzc3F5WVlcFoGhH5gAGNiIhUgRuridBeeWLOnDloaGjAk08+CQB4/vnnYTKZkJSUhJdeegldunSRfY2rV68iLy8PDQ0NsNlseOqpp2A2m/H555/j+eefx9tvv43y8nKsX78ef/3rX3HhwgXMmzdPie4RaQJHaERor+n47rvvYsOGDVi2bBna2tqQnZ2N9957D8nJyV6dO7V+/Xrccsst2LJlC/7rv/4Lf/jDH3DLLbfgyy+/BACUlJTghx9+gNVqxb59+zBlypRgd4tIUxjQiACkp6dDp9M5qvNHRUUhNTUVQHsNwTNnznh8jcrKStx0000AgN69eyM+Ph6NjY0YOHAgvv76qMmXpgAAAQpJREFUaxgMBqSmpuLLL7/EhQsXMHjw4KD2iUhrGNCIABw7dgwAUFNTg8bGRgiCgIqKCgDtIytv6jsOHjzYcTZVdXU1rl69isTERNx5551YvXo1xo0bh1tvvRWvvvoqbr755uB1hkijGNCIADQ3N+OBBx7AY489hmXLliE6OhqbN2/Gfffdh8uXL3t1BM9vf/tbHD58GPfddx8ef/xxLFu2DAaDAZMmTUJZWRluvfVWjBs3Dt988w2mTp2qQK+ItIXFiYmISBWY5Ujkhe+//x6LFy92u37TTTfh//2//xeCFhGRK47QiIhIFbiGRkREqsCARkREqsCARkREqsCARkREqsCARkREqvD/ASUzNkqoMIY6AAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x432 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "j=sns.jointplot(x=top100.bb_low, y=target, data=top100)\n",
    "j.annotate(pearsonr);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:17:50.179374Z",
     "start_time": "2020-06-17T18:17:42.105853Z"
    },
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x432 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "j=sns.jointplot(x='bb_high', y=target, data=top100)\n",
    "j.annotate(pearsonr);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### ATR"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:17:54.952071Z",
     "start_time": "2020-06-17T18:17:50.181732Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbQAAAGoCAYAAAAuIBCmAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nO3de3RU5bk/8O+eS5LJBQJIFYIg2BIpBQlQoUXwQA9ED9qm3JPKwtpqtdAK0pSIF6giRCjaQxW1npbDArljc0T6Kx7BBQqiEhPENHAqKjEDRS6J5DJJZib790eccS5779lz3bP3fD9rddXM9RkI+5n3fZ/3eQVRFEUQERHpnEnrAIiIiGKBCY2IiAyBCY2IiAyBCY2IiAyBCY2IiAyBCS1Cn332mdYhRIyxa4Oxa0fP8es59kRjQouQw+HQOoSIMXZtMHbt6Dl+PceeaExoRERkCBatA6D4+LK1A03trqDbLSagw5KN+oZW72056RZ0z0xLZHhERDHHhGZQTe0uHPq/i0G3F/TPxRv/OIs+13zdIGbC4KuY0IhI9zjlSEREhsARms7JTS22O90aRENEpB0mNJ1TmlpUy+Xu9FtT8+DaGhHpCROajkiNxmIxEnM4O1F1+nLQ7VxbIyI9YULTEanRWDgjMSIiI2NRCBERGQITGhERGQITGhERGQLX0JIQS/GJiMLHhJaEYlGKHwss5yciPWFCI1ks5yciPeEaGhERGQITGhERGQITGhERGQITGhERGQITGhERGQKrHClsUuX8LOUnIq0xoVHYpMr5WcpPRFrjlCMRERkCExoRERkCExoRERkC19A0ZKQmxOz7SERaY0LTULI0IY4F9n0kIq1xypGIiAyBCY2IiAyBU44UV1xbI6JEYUKjuOLaGhElCqcciYjIEJjQiIjIEJjQiIjIEJjQiIjIEFgUQprgETREFGtMaKQJHkFDRLHGKUciIjIEjtASRKoRsR6bEMcTN2ETUTSY0BJEqhGxHpsQxxM3YRNRNDjlSEREhsARGiU936nIDku29785FUlEvpjQKOn5TkWe+9c59LlGBMCpSCLyxylHIiIyBCY0IiIyBE45km6x2wgR+WJCI91itxEi8sWERobCzdlEqYsJLcakOoIA7AqSKNycTZS6mNBiTKojCMCuIFrjyI3I+JjQKCVw5EZkfExolNJYKUlkHExoETKlZ0lOYXGtTF+kRm7fv76n5DqoxQS4OoNfgwmQKDkwoakgefQL0lDJtTJDkpueLOifi6q6xqDbpRKgVPLrsGTjX1+2MikSxYkgiqKodRCx9s9//hMuV/A3bCIivbNYLPjWt76ldRhJyZAJjYiIUg97ORIRkSEwoRERkSEwoRERkSEwoRERkSEwoRERkSEwoRERkSEwoRERkSEwoRERkSEwoRERkSEYMqH985//jPt7fPbZZ3F/j3hh7Npg7NrRc/yRxp6I62CyMWRCS0QfR4fDEff3iBfGrg3Grh09xx9p7KnYz9aQCY2IiFIPExoRERkCExoRERkCExoRERkCExoRERkCExoRERkCExoRERkCExoRERkCExoRERmCResA9Kaiyo41+07hbKMDfXPPobQwH0UFeVqHRUSU8pjQwlBRZcdDr5yAw+kGANgbHXjolRMAwKRGRKQxTjmGYc2+U95k5uFwurFm3ymNIiIiIg+O0MJwtlG6Sajc7UR64D+NbuM0OukWR2hh6JtrC+t2omTnmUa3Nzog4utp9Ioqu9ahEYWNCS0MpYX5sFnNfrfZrGaUFuZrFBFRdDiNTkbCKccweKZhOD1DRsFpdDISJrQwFRXkoaggD7W1tRgyZIjW4RBFpW+uDXaJ5MVpdNIjTjkSpTBOo5ORcIQWJm6sJiPhNDoZCRNaGLixmozIM41OpHdMaGFQqgjT4wWB+4+IyEiY0MJgpIowtaNNJj0i0gsWhYTBSBur1ew/4qZbItITjtDCUFqYj9Jdx+F0i97brGZBlxVhcqNKe6MDBY+/DlEEGh3OoPv1PMVKRMbGEVq4xBA/64TSqLKh1SmZzDz0OMVKRMbHhBaGNftOwdnpn8GcnWJc2gRVVNkxrvwABpbtxbjyAzGf5pPaf6SWCMQlJiKiaHDKMQyJKgpJxPYA3/1HUp0iQuGWBSJKNhyhhSFRRSGJahhbVJCHw2WTYBaEiJ7PJrZElEyY0MKQqDZBid4e4BaVFwKtZvmEx/U0IkoWnHIMQ7htgiLdwyXXMNYkCBhYtjfm+8HyZN4PAMyC4FfVKRUrEVEy4AgtTJ5pur/NG4TDZZMUk1mke7hKC/NhNQWPityiGJf9YFIjT6tZgNUkhBy96XHLAhEZE0docaK2TZbUKA4AOkO8fiz3g0mNPFvaXYql+wCQa7NqUhDC7iVEJIUJLQKPVJzAlnfr0Cl+ArMgoHjMtVhRNMzvMWrWweSqGU0C4O4MvcEtlutXgQ1qB5btVXy8zWrG8h8ODfm6sU4+Bz5pwrNHz7BBNBEFYUIL0yMVJ7D5aJ33Z7coen/2TWpqDk6UG8WpFe36lW+yyc20QhSBLx1O9M21ITfTioZW6RFansrEFI/tBxs/aDBUg2giih2uoYVp67ufq7pdTUVkNCOsaKsrA9f4PN1BPGt0X8okszvH9ldcO/QVj+0HF1pckrenarVlvDfgE+kJR2hhkiuSCLxdTUWk0ihIidoRkhKpZONLbg1vy7t1ePlonarpw3hsP+idZcEXEkktFasteT4fkT8mtDCZBenKP6nNyaEOTpQrILRZTXA4Q5WFRCfSpOJZ2lNz8VQz7RqueSN74Nmjl/2ScTSjVT0XmBjtfD6iaHHKMUzFY64N63YlX8pUEbaFSGaxKNuPxYgm1PSh1LSrAGDiDb0jfs9Jg3Kwatow5OXaIKBrtLpq2rCILuB6Px7HSOfzEcUCR2hh8hR+dFU5QrbKUY1QIxilHovhfBOvqLJj+as13jL8bukm/LCgH14+Whf1YQFKF8+igjwcO3PZr4hGBLD9vc8xekDPiEcRoUa+aul9hBOPETCRniUsoXV2dmL58uU4deoU0tLSsGLFCgwYMMB7/4EDB/Dcc8/BYrFg+vTpmDVrFgCgqKgIOTk5AIB+/fph1apViQpZ1oqiYfhJvgVDhgyJ6nUm3tDb72LvezuAkAlHzTfxiio7Snce9zsl4Ep7J7a+9zm+f31PHDl9OaqkFuri+drxc0G3OTtFLH+1RvOkoXaEk6zTkqWF+X5raEB8WrER6UXCEtobb7yBjo4ObN++HdXV1SgvL8fzzz8PAHA6nVi1ahV27doFm82G4uJiTJw4Ed26dQMAbNq0KVFhJoTnAik3Anvt+Dm0uzpDJprcTGvI95I68gbo2uf2j3NNeGb2CCzcXq0m7CBqpg/lNmeH2rSdCGpGOMlceBFuKzYio0tYQqusrMT48eMBACNGjMBHH33kve/06dPo378/unfvDgAYNWoUjh07hr59+8LhcODuu++Gy+XCgw8+iBEjRiQq5LgIvEBKUXuxb2h14rqyvYpVj0qjuIZWZ1jJLLBYRQSwu9Ie1fShltSMcJJ9WjJW069ERpCwhNbc3Izs7Gzvz2azGS6XCxaLBc3Nzd5pRQDIyspCc3MzMjIy8LOf/QwzZ87EZ599hnvuuQd///vfYbEoh93e3o7a2tq4fRYAaGtri+g9Vr5WF9bmaTXsjQ4s2XUc9rN2TBqU43efXJl7uAQAOWnB1ZcOpxuP/vU48jOuSD6vW7oJV9qDi1y6pZsi+vOL9M9dSn4GsGBsT2z8oAEXWlzonWXBvJE9kJ9xBbW1XZ9HaVoy3DhiGXui6Tl2QN/xB8audqnD5XLp9jMrUfr8CUto2dnZaGlp8f7c2dnpTUyB97W0tCAnJwcDBw7EgAEDIAgCBg4ciNzcXFy4cAF9+vRRfK/09PSo17dCqa2tjeg9LrR8oni/zWpGu8sNFZ2v/LS7RWw50Yz5U2/yu33p7d0inlL01TfXJntxb+oQcdvGTyRHio8XdUPpruN+HftNQtcXmv/Y+EnY02SR/rnLGTIEmD9V/v6+uedkpyXDjSPWsSeSnmMH9B1/pLFbLNGv8+tNwsr2R44ciUOHDgEAqqurMXjwYO99119/Pc6cOYPGxkZ0dHTg2LFjKCgowK5du1BeXg4AOH/+PJqbm9G7d+Ql38lAqYjCU4IebjLzkEo4RQV5GHd9z8he8CsCuqbnQq3ZSZW9FxXkYc2MG71l9rk2K8wmAQ2tTlWl8oGdMA580hTyMbEsu0/UGXhEFL2EjdAmT56Mw4cPY86cORBFEStXrsSePXvQ2tqK2bNno6ysDD/72c8giiKmT5+Oq6++GjNmzMBDDz2E4uJiCIKAlStXhpxuTHZy6za+e6mUCkaUyCXLzy5Fty/Jk1+b20JPXfquLwVWBz4zewTW7DsVtEYotyYlVZCx7kgb8vravY+VK9o4duYy3jx5wfveE2/orfiz3CgxWQsvkrXykkhLgiiGOPBKhxIxvRDNe4S6GFVU2cOeJgxMir4Glu2NqjQ/T8W+OF8CgGdmj5BM3HLrhwKAT8v95/7GlR+QfM9cmxVZ6RacbXTAJNO5RQDC+sw2qxnTR+WpSnKRitXvpVRhkdLffyzoecoO0Hf8kcau588cKX0Pd3TKU5nmSWwLt1dj8Y7jcIsienzV9V6NXJvV2x1f6eIrV56uhmd6bVEYCbZvrk22OlCudZjU6FJuza7R4fSO8uR6a4abwB1Ot9++P3ujA4u2V2Ph9uqY9M6MpWSvvCTSChOaRgK/ZXsuzOE0K85Kt6B62ZSQj5PbwK1EQNc+t3anO+zRolLydIui5Eitpd2Fiiq73wU5mkQcicAk6JvckmXvGcCWV0Ry2MtRI6G63athb3TgkYoTigURFVV2bH9P+sgbOZ4pw+Z2F1oV+kpazULYBSc9Mq1YNW0YegQUmDQ6nHjolRN+n6e1wwWrKbjpsxaiPfYmluTWStnyilIdE1qcyVXgxerb9OajdX7NdRdtr8YjFSe898t1ClEiep7nDvE8Eag5G1x1qPgUsWuUk5kWPDngmfbzPaMNQtfUqqcRcbd0db+ygZWJsZAsIyBWXhJJY0KLI6Vu7vH6Ni2iK8l5klqkF2E1z3N2imG3sPKcMCD3+oEp1OkW0dTmwjOzR+Bw2ST84qZeIZOVZ/tD4ChQiUlAyNFgsoyAigryYnbiAJGRcA0tjpQW76XK92Pp5aN1GD2gZ8TrUJlpZrR0xD627jYrKqrsstWJUtyi6F3DmjQoB3l987xbGwKrGT0jlaKCrseoXZPsFIHuNgsy0yyKr5ss2PKKKBhHaHGktHjv+y07HkQAi3ccj/jsMbXJrEemNaxfoqZ2F0p3HledzDwcTjcW7ziOA580oaggD4fLJuGz8ql4ZvYI2ZFKuKPThlanqtclouTEhBZHclNUIrr2WAHA4bJJiFfZg1sUsbvSjjRz/AorGlqdCOdsbXenGPaanve5ooh1Ry4GdSI5XDYJn5ZPRWlhPtbsO+Vdr+xuUz/lCHQVw3he2/O6z8zuaoa9aHu13xpoPLuTEFFkmNDiSGrx3iMR62lA18imI1Rxh460u0XJasOKKjtKdx33W69sag+vStJTDOP7mlJroI9UnND1SddERsWEFkehphUdTjeWv1qjmPgomNRU4sN/PRFUlenuFGEyCWGNgH1fW24NdOu7n8uujRKRdpjQ4swzdSV3UfVUCYZblRcOAV17xowiw+r/a1tRZZdd81NzUKov39Gy3Bqc3PpfspT1E6UqVjkmiFK1oafqsU1hE3M0RCD0njIdcTg7MeTR/weHsxMmARGfThAosJJR7u8snPZdRJQ4HKEliFLJ99lGB5a/WhO3En4j8hw0Gqtk1iPTinSLya/4Q24Dc/GYa7mxmSgJMaElgdxMa9gblCl2emRa0ebsRKPD/4w2AH4bmHNtVmRYTXj5aB0yrCa/DiYs6yfSHqccE0SpYKCNIzNNSW2+9hR5HC6b5D0ZwXcjfEOrEwKAn4ztjxVFwxIcMRFJYUKLIaVzzpQKBhxxWjuj6NgbHd4TAKQqHkV83ZHF98DRRB286Xkve6PDu64Xy6NufD9L7ywLlt7ejaNQSmpMaDEid3Iy0FXp2N3GaUU98vwdKvWe9D2hW+l3IJbkjh+K1Tluga//RYsrqY7QIZLCNbQoeTpGLNxeLbk3afGO46ioskMwTtV8SvFMPSpVMHqSnVLvzlhTOn4o8By3SDZ8J/KzUHy4O0V82dqhdRgJxYQWBd9OEnI8jXXDObiTksvZRgdKC/Nl9xJ6kp3c70E89qepfc1IkxAPEdU/d6eIpnaX1mEkFBNaFNQe0ulwujlC0zERUDy1297oQMHjr8veH4/9aeG8ZiRJiIeIkh4xoUUhnAtFmM3lKQkp/RXKjcAFKO9BjFQ47dIiSUI8RJT0iAktCvy2SqGIiE8RRWCfUPNXUwCBEwGRJqHAQ0S/kWXhXjtKeqxyjEK8D+kk/YvXeXeA9CGfarYNqN1a4Pv6tbW1GDKEyYySGxNaFIoK8nDszGW8fLQurAa4lDrsjQ6MKz+A0sJ85GfEf59aqJOsE7m1gLQlCIAlxebgmNCi9ObJC0xmpMiTNCYNysSBT874JZNY7BnzUJMslcrxmdCMRRQBV4r1bGBCixLLmEkNh9ON//d/TUHNlAP3jAGRjZSkRl6lu45j+as1+NLh9CY4luOTkaXYgDT2WBhCaoU6GcDhdON3e2rCft2KKjsW7zgeNPJyusWghsuBZ8l5eH6PPY0CBpbt9Z46QKQXTGhRKi3MN9ThmaSthlZnWEnEMzKTO3TUl8PpluwbajUJKC3M92sU4JsEmdRIL5jQfET67dQVq0O5iKB8MoPUY6Otss3OsMg2YGa7K/0SBMDl7kyp9ldMaF+R+na6aHs1Hqk4EfI53DRNsRTOelYs1r4av9oUzvU1YxFF4MjpyynV/ooJ7StKx4PIjdRi8e2YUleo3pBqyD3WJHRNJYbzfmx3RXrHKsevyDWW9RwPgq/+31MSXTIsm99cKSpSA3urSUBrhwvXle1VdcaZ1OZ+m9WMVdO6Dh31/Z2deENv7K60Bz3W00lE7rW67r8Smw9NFEdMaOiaOhQg36vPszjuWxK97kgbcjOt7KJPUTMLAjpFERlWExzOTu/vlO8ZZ74l/YH7zaaPysObJy9I7j8LTIKjB/SU3avm+X+p+2trmdDUSuQhr+SPCQ1d/4BDLYMFTi22u0W4eGAnxUCnKOKZ2SOwSKGjv29xRuCXq92VdtV9FkN1Egl1PyljJxZtcQ0NkS96u1kMQjHQ3WZV9aXqbKMjokpE7i1LnGSqFBUEoKB/LlzuTtQ3tKK+odXwFY8coaFr0VvpkE6ieHK6O1V9qeqbawu7EpEjhsRKpkpRUQSq6hr9bpsw+Cp0z0xLeCyJwhEagIk39JatACOKt5YOd8jRmc1qxsQbesMkc1KsXCViMo0YUgErRbWV8gmtosqO3ZV2NhimpNUj0wpAxOajdZIdQZTOPEumEUMq4MGo2kr5KUe5vWRKVY9E8WYWBKyddWPI44nMgqBYECI3nR7OiKGiyo6Vr9XhQssnrNoLQalSlOIv5ROa3DdVJjPSklsUsVCh6tGjUxQVL5bKe8tCS5U1uFiW2rNSVDspn9BYEEJ61t1mVbw/2hFDKpyfZtSk7aly9OWpeFSSk27RbeFIyie0iTf0xuajdVqHQRSRlg4XKqrscdtblgprcEZN2lJVjmrouRIy5RPamycvaB0CUcScblH1hVduWk1pui0Wa3DJLhWSdqpI+YTGX1rSOzW/w1LTagu3V+Phv55Ah6sTzk7pNlvRrsHpQSok7VSR8gmNa2ikd0oXXs/oS+53vKUjuMLXd7rNM1Jb+dpHuNDi0qxqL579EROZtNnnMb5SPqGVFuajdNdxONnHinTqul7SCS1wVBYO31FfUUEe8jOuYMiQIRHHGI14F20kqtTeqMUnySTlE5rnF+l3e2q8Xc5zbVYIAthJn3Th8OnLkoUh0ZzX5zvq03ofWiKKNhJRap/o4hOpKkc11FRCxkqsKypTPqEBwd/QstItrH4kXVn6yocA/EcZ0UylT7yhN4DkGFUYpWgj0Z8j0irHRIp1RSUTGqT/0e6uZEdy0o9WZ6ffRuxo14U91b9yo4rFO44DSExSi6Zow3/N6pyma1YsPok/JjTI/6MlSlWeUYPc6MEtit6RGhDf9adIizaSYXTpKxUqRrXGhAb9TV0QhcMkAJ1h1jx5Rg1KU5cOpxvLX61Bu6tTVdKItMIv0qKNZNswzT6P8ZewhNbZ2Ynly5fj1KlTSEtLw4oVKzBgwADv/QcOHMBzzz0Hi8WC6dOnY9asWSGfEyss3ScjCzeZ+Y4aSgvzUbrzuHefWqBGiVPbpZJGtKOlSIo2knHtLZF9HiMtCkmkcApQ1BSQJCyhvfHGG+jo6MD27dtRXV2N8vJyPP/88wAAp9OJVatWYdeuXbDZbCguLsbEiRNRVVUl+5xYKi3MV9UIligVTB8VcNGN4LDAs40OvxGZSRCCjr7xjPDidYFXu2YVzd6wZN5XpoeikHCoKSBJWEKrrKzE+PHjAQAjRozARx995L3v9OnT6N+/P7p37w4AGDVqFI4dO4bq6mrZ5yhpb29HbW2t6tjyM1Q/lMjwNh+tw+snzmLeyB7Y+EGD7B7NdLOAdIuAK+2dQfflpJuwZNdxtH/1XKlz3ICuEd5ze9/DpEE5sfsAXykZlo11R9q8MXhiLhmW7b0+HPikCeuOXPQ+xt7owJJdx2E/aw8ZUzTPDUdbW5vf9UztfkC3241z/zoXszi0dqmngKZ/nVH8/AlLaM3NzcjOzvb+bDab4XK5YLFY0NzcjJycr38BsrKy0NzcrPgcJenp6RFsAv0kzMcTGdcXLS48e/SyYnHUzO9ei9EDekoWOphMJrS71e3j3HKiGfOn3hR1zIGGDAHy+iqPoH7+Pwf8Eh4AtLtFVTFF89xw1NbWRrSp3Ww2o881fWIWh9Z6XdUL/Xpcq/iYhJ1YnZ2djZaWFu/PnZ2d3sQUeF9LSwtycnIUn0NE8RWq0teztWXVtGHIy7VBAJCXa8OqacPwpcTampx4rGlVVNkxrvwAFn21lPCb8b1xuGxS0HRgNOtsybhGl+oSltBGjhyJQ4cOAQCqq6sxePBg733XX389zpw5g8bGRnR0dODYsWMoKChQfE6sZaWZQz+IiLx8iz8Ol03Cp+VTvUkjnL1Vco/1JKWBZXsxrvwAKqrU7Q31FKDYGx0Q0TUVuO7IRcnny723mvijeS7FR8KGO5MnT8bhw4cxZ84ciKKIlStXYs+ePWhtbcXs2bNRVlaGn/3sZxBFEdOnT8fVV18t+Zx4sZpNALj3jCgccqMRqT1XVrMAiPCrmJTbhxVNVaRUuX67zDE70ewNS/Z9ZfGuckwzC0i3Jm4gkJMeOl0JoiizWqtjkcw5DyzbC8P9QRDJyLSa4HB2ortP31IBCPvfQK7Niqx0i+QalVQFIKBuH9a48gOSFYp5uTYcLpukGJPcv2UBwKflU4NuT/Yqx0jX0I6fqEFNa+yLbTwmDL4K/Xpkxu31I8EFqa9wLxoZlVLS8RXqqJnAhGc1CWjpcHn3ogWOouT2XKm54EezPhVui6lo9oYlcl8ZhZawNbRkV1qYD1sCh89EiWCzmrH8h0O9a1ylhflYs++U5LqUZy3sD7NHBP1bSDcL+MnY/n7FH9kZlqCSfs+6WrSiWZ+S+recbhaSZiqQ4ocjtK/ItaVR+sZKlMwE+G+SVrsuJfVvoWRYNuZPHeb3+gPL9kq+byyq/KJZn5KLnyMp42NC8yE3fcAuIqRHIro2SW8+Woe8XBta2l2qexsG/luQalQQz+7x0fY9VBM/GQ8TWghFBXlY/mqNZM86Ir1QmmWIdEQV7yo/rk9FJ1SVY7RVimqqDhMt+SJKQst/OBQP7qgOu8krkR5EOqJi9/jkFqqXYzJWKUaLCU0Fzz9QTj2S0UQ7ouIoipIJqxxVKirIQx47AFASEQDcObY//jB7BHJtVlXP6ZFpDWpTJXVuWSQdOoi0xhFaGKTWDIi0kmE1Y/SAnt5RUkWVHb/bU4OGVun1XpvVjGV3DFUcUclVQi4Y2xMR7O0lSigmtDD4rhmwlJ+0FlihGDj9F0kXC7lTnjd+0ID5wU02iJIKE1qYPBcNtsqiZKD0xSqWpzxfaHGF9TqkPd8qR6mKxmSsUowW19Ai1DvLeL8MpD8CENM1LrmKR/6+64+nyrGqrhHpVjP69cj0+1+o05/1iAktQvNG9mCrLNKcCETdasq3CKS1wwWrSfC732Y1Y97IHlG9B1EiMKFFaNKgHKyaNiz0A4niLJpWU4FnhzW0OgGhq6GxbyXkpEHx69pOFCucR4hCUUEe96aR5qJpNSVVBOJ0i8hKt6B62RTvbbW1VyJ+D6JEYUKLkiB0zVUTaSHajdHRHNNCyc1TFJJmFgxZACKFU45Rsln4R0jyzIIQ+kFh8EwDKm2MDkc0x7RQcvMUhaRbzYYsAJGSGmk7jhzOTq1DoCRlNQtYM+NGxc3O4cqwmkKe2ByOeDcYJkokDi+iJPdNNi/Xhj/MHuH9Nk2px+kW8bs9NWhui90errYYf4EqKsjDqmnDYjrqI9IKR2hRUvqG67ux9TqZwxBJvwQg5Ob6WI3MPGIxFSjVQSSWoz4irTChRUntERpmQYCb1SOG4JlKBL7+ezfF4e/XBMB3PBaLqUC1p1Z7Huv5fL2zLFh6ezeO3CipMaHFgJoWQ8VjrsXmo3UJiojiyWoS/PonAsGJAuhKQOkWU0SHw+barFj+w6ExP2tMrldj4KnVgZ/nixaXbOKj5CQIwJiBPVKmwhFgQkuYFUXDsLuynkUkBtAq8XcoN1IHEPYJDTarGct/ODQuZ42pKdOvqLJj8Y7jQSNOqcRHyUsUkVIVjgATWkKtmjYcD26vBlOaMYSzFqV0QoOArrUxe6MDAroSx8Lt1fjdnpqQx72Ey/M+UrcDX4/M5KZPuT+NkhmrHBPo2JnLTGYGkGuzBrWM8qxFSTUKLirIUyy6ENFVXGQ1CX5FJg2tTpTuOh7T5sOlhflBPUAOCAEAACAASURBVEh91+akpiR9cX8aJTMmtATa+u7nWodAMSAIwMLt1bJrUXJMMvs3zIKANftOwdkZPCpyusWomw/7ClWmrzQC4/40SnacckwgVjkag1IpvtL5ZLcNzsHeU01BtxePuRYvKxQMxXqaT2ltTm5K0iSA+9Mo6XGElkCxboNEyckzReh7LMu48gMAgKy04COH3jx5AbmZVtnXS+Q0n9yU5OKbezOZ6YwgAKnWmY8jtARi6X5q+N2eGgAI2u9lb5R+vL3RAatJgEkAAmcdrWYhodN8ctWa+Rnstq83ogi4UmzRngktgVYUdZ2ftvXdz4OmH9V0nSB9aGh1Spa9K3F2irBZTUi3mL371npkWmNe5aiG1JQkj48hPWBCS7AVRcO8ic1XRZUdpbuOw+lmWjOCSNZLHc5OrJo2HEUFed4tAYu2V2PNvlMx2VRNZHQpNsOavIoK8pCVxu8XqW7NvlNhbQkgoq/JXkFvvvlmAIDT6YTD4UCfPn3wr3/9C7169cKBAwcSFmAq+TKCFklkLGcbHarbUxGRP9kR2ttvv423334b48ePx759+7Bv3z68/vrrGD58eCLjSynctGo8ZkEI6/igvrk2niJNMWE2pc5J1R4hpxzr6+vRp08fAMDVV1+Nc+fOxT2oVFRRZUdrR+zOzaLEC0xcNqsZa2fdiE/Lp+LOsf1DPt+zcZmnSFMsmE1CSvVxBFQUhVx//fUoLS3F8OHDUV1djVGjRiUirpQi1amd9MVmNWP6qDy8efKCZHf8FUXD0NDQgL//XzPcogizIGDsoB747JJD8vFyZ+xJ9Y/kNCRRl5AJ7YknnsChQ4fw8ccfY+rUqZg0iQcBxlqo/nmU3GxWk6ouGgvG9sZzP50Q8vXUdu5XOsuMKBXJJrRjx45h9OjRAAC73Y5PP/0UWVlZcLvdMJuDux1Q5Lg2oj2pTc1q9cxKj3lCkdoLNq78AItFiBTIrqGtW7cOALBmzRqcOnUKU6ZMQV1dHVasWJGw4FIF10a0JSDyZAao+0JSUWXHvF113jZYkZTgs1iESFnIKccPP/wQL7/8MgDglltuwdy5c+MeVKopLcznGpqGot3KHuoLSeAaaaRThaHOMiNKdbIJ7dy5c/jf//1f5OTkoL6+Hv369cP58+fR1taWyPhSgtSaiVLXdtJOYIsyqSNVAgs3WtpdUU8VylXB8kgXoq/JJrTf/va3qKmpgdvtxhtvvIHp06djzpw5ePLJJxMZn2GFOu34urK9is/P+2q/Um6mFc1tLr+ztKxmAS63mHK9IbPSzGjpiN8oN1QlIyA9GpOjdqpQrgo212bF8h8mvtcjUbKSTWiTJ0/G5MmT/W578803vf+9bds2zJkzJ36RGVi0U1CCAL/k50mO9kYHTAJSsh9kj0wr2pzxay2ep7JEPpyKVbVThXKvmZVuYTIj8hFxL8e//e1vsYwjpci1NvIcOwIon50W2Pe2qCDPe45VNMUNsZT31cXa8znieRaczWqGKCIma5BSm6P/MHsEDpdNUpU81I66BED1VCGLQYjUiTihiTx9OWJyF6KGVqe3+k2pW3uexDf73+2pSZqiklybFYfLJuGz8qk4veo/8Fn51Lie1r1q2jDFPphWk4AeCgdoenxWPhXPzB6BvFwbBHT9OYd7SrPaUZcI9QUh7BxCpE7ECU3g6csRU7oQrdl3CgAUL8D2Rodf6fcjFSfQ0Jo8jY2lfjXiNULLy7WhqCBP9s/ULAhYM/NGVD02BZ+VT5X8MuB5HaAryRwum4RPy6eqHpX5kjrxWen9In1NFoMQBePxMRpQuhCdbXSgosqO5jblvo6edbdHKk7g5RCnYNusZmSlJW4zfEOrE+PKD/jtuYrHCM132k7uor921o1+SUnqcVaTgNYOV1R7xDyKCvKwatow7ygv12aF1eyfzMN9v8DXjGTkSJQKIm7FzCnHyBUV5GH5qzXek4l99c21Yc2+U35Vi3IcTje2vvu5YjWjpxIOQEIPEPVU93kSb67NKvl5IyUA+MnY/t6Luly7qMCLfuDjutusaOlweUe4sWgnFdjlw7eiNdL3k+ocQkT+Qo7Q1q9f7/fz2rVrAQClpaXxiShFLP/hUNlppHD2oCmNfHJtVlQvm+K9GM7+7rUJKdII5HC6IQhQNRWnRq7Nimdmjwg6+VvtdKHv47LSLUFJ3rNHLFY87/e3eYMS8n5EqUp2hLZz507s2rULp0+fxqFDhwAAbrcbLpcLixcv5rloUVIaUSzecVz1FJ1ZEGQfe/uNfbz/XVFlx+7Kr6f+4lmkIcUzIhGE4CrNcMWyXD3RFYSsWCSKH9mE9qMf/Qjf+9738OKLL+K+++4DAJhMJvTq1SuiN2pra0NpaSkuXbqErKwsPPXUU+jZs6ffY3bs2IFt27bBYrHg/vvvx8SJEyGKIiZMmIDrrrsOADBixAgsXrw4ohiSjdw0ktpk49no+/LROslpxzdPXvD+d7J09I9FHo3lxT/R7aTYvooofmSnHNPS0tCvXz8sW7YMR44cwe7du1FXV4fm5uaI3mjr1q0YPHgwtmzZgqKioqCpzAsXLmDTpk3Ytm0b/vznP+Ppp59GR0cH6urqMHToUGzatAmbNm0yTDJTIlcBl2uzBhUGrCgaJruGZv+qwATQzwgg02qCKcRsaCwv/omuIGTFIlH8hFxDW7ZsGc6ePYvDhw+jpaUFS5YsieiNKisrMX78eADAhAkT8M477/jd/+GHH6KgoABpaWnIyclB//79cfLkSdTU1OD8+fOYO3cu7rnnHnzyyScRvb+eyF30lv9wqOQaUa5NvsT/oVdOoKLKrpsRQKuzU3FzeLpZiOnFP9EVhKxYJIqfkFWOdXV1ePLJJ1FZWYlJkybhT3/6U8gX3blzJzZu3Oh3W69evZCTkwMAyMrKQlNTk9/9zc3N3vs9j2lubkbv3r1x77334rbbbsOxY8dQWlqK3bt3K75/e3s7amtrQ8YZjba2tri9R34GsGBsT2z8oAEXWlzonWXBvJE9kJ9xBbW1V3DgkybvfTnpJjS1y7d8cjjdWPnaR5g3sgfWHWlDu09BgsXUNQWol05Z38iyYOQ1Vqx87SMs2l7t/XOZNCgn9JMV5GcA//WjPj63dP05x5rndyZR7xdL8fx9TwQ9xx8Y+5AhQ1Q9z+Vy6fYzK1H6/CETmtvtxuXLlwF0JR2TKfTWtZkzZ2LmzJl+ty1YsAAtLS0AgJaWFnTr1s3v/uzsbO/9nsfk5OTgm9/8pvdA0dGjR+P8+fMQRVFxY3d6errqv/RI1dbWxvU9hgwB5k8Nvr2iyo5nj57xroddUUhmHl+0uDB/6k3I62v32y7g6uya4muNcQ9EpUIVX+EcqikAWHr7d7Bk13FvUv6ixYVnj15GXl99lLTH+3cmnvQcO6Dv+CON3WKx6PYzRypkdlq4cCGKi4vx0UcfYfbs2Zg/f35EbzRy5EgcPHgQAHDo0CGMGjXK7/7hw4ejsrIS7e3taGpqwunTpzF48GA8++yz3tHeyZMn0bdv35TuUhJJcYcAeNfSWgKOIAk3mYX6kxcAFI+5VlWJfqeovmOGZ39eO0veiUhGyBHaTTfdhH379uHy5ctBVYnhKC4uxpIlS1BcXAyr1erdz7Zhwwb0798fP/jBDzB37lyUlJRAFEUsWrQI6enpuPfee1FaWoqDBw/CbDZj1apVEcdgBJEUd4j4uqVWtBurRUBxk/Q3v5GFFUXDMHpATyzcXh3y9Sbe0BubVXQ6KS3MxyKZ19NLwQsRxVfIhDZlyhS43V+PCCwWC/r06YPS0lIMHTpU9RvZbDasW7cu6Paf/vSn3v+eNWsWZs2a5Xd/9+7dVa3b6ZXUuWhK02eRHv4Zy4t+u6tTNql9/EULKqrsKCrIC5nQBAGyycwsCOgURb8/E88ROYH0UvBCRPEVMqGNHTsWt956K0aPHo2qqirs3LkT06dPx4oVK7B169ZExGhYkZyLVlqYH3TYo9UsICvNgi8dTphk1q88F/1wkqHNapac3nQ43bLTnp7RYFFBHvJCJF+lZbZOUcSn5f6LiKWF+X5raJ4YtSx5D/cLiR5Ifab8DK2jIgot5Brap59+iu9///tIS0vDmDFjcOHCBXzve99TVRxCyuTORVNaE5Iq+14z40ZUL5uCT8unYu2sG2X3OZUW5ofc4+VhFgRMHxXZhdkzGpx4Q2/JNTc1IUiNuooK8vDr71+VNCXvni8k9kYHRHz9hSSa5sZak/tMBz5pCvlcIq2FHKGlpaVh69atKCgoQFVVFdLS0vDRRx/5TUNSZCJtg6TUqDZUk165dahAblHE7kq7bBVkptUEh7NTclN331ybt9VW4P3jru+JI6cvK7630qhr0qAczJ96k6rPEG9KX0j0OkqT+0wbP2iQrLolSiYhE9rvf/97vPDCC9i/fz8GDx6M1atX48MPP8STTz6ZiPgMLV5tkHwTnmf6aNH2avTNtSl25g/kaSosJd1qxrRR/YLWwKymro3PctWYR05fRm6mVfb8tryABBw4/VUyLBvJUolsxL6McrFfaFE+zogoGYRMaCtWrPBWJHrccsstcQsolUith0W6JiS17gEgaI0uXHLrXI2tTowe0BPb3//cv3LyqwQod2EUv3rNwPU5m9UcNH0otca47kgb8vrak2IEZMS+jHKfqXdWxCdNESVMyIWwjo4OnDx5Eu3t7ejo6EBHR0ci4koJsWqDJLfusfzVmqgbEssdM+M9ty1gG4DTLWLNvlOKF/UvHU5Vn1tqlNfuFrFoRzUKHn89JgdyRsOIfRnlPtO8kT00iohIvZBfuz777DP88pe/9P4sCAL2798f16BSSSwObpRb94hkA7ZvevJ0899daZccRSrtC3tm9ggs2l4tu8am5nPLjvJExPRAzkipPVRUT+Q+U35GcrfmIgJUJLQ9e/YkIg6KQqzWbER0jZYCL86jB/SUvGgr7QsrKsjDsTOXg462CWcEo3bPXbwKMdSU5BvxJGmpz5TsvSaJABUJbf/+/diyZQucTidEUURjYyOTXJJRuvAHjrqU5OXacLhsUtDtchftUGuAno4hkY5gpF5fTqwLMSLZI0hE2gqZ0J577jk8+uij2LZtG8aMGYPDhw8nIi4KQ2lhvmxXDs+oK9RIJ5K1HzVTbtGMYDzPU3OCd7SFGJ7RmL3RIdtcWe8l+URGF7IopEePHigoKAAATJs2DefPn497UBSeooI89MiUPhPNM+pS2sysxQbliio7xpUfCFnYUVSQJ7lZ3Fe0hRi+RTWA8onhei7JJzK6kAnNarXi/fffh8vlwltvvYULFy4kIi4K07I7hipW3MmNYDwJL5JkFmmnjHCfF1gNmmuzokemNWbdQsI5wUDPJflERhdyynH48OFwuVy4//778Z//+Z9seZWkQk3/xXLPm0eo1l1ysajtsCHdU/BKzM94UjvqildJvhH7QRJpQTah7dy5E7t27cLp06fxzW9+E0DXYZ8ZGexSmqyiaYkVCblEYG90oHTncTi/Or3T87MnDjUdNh6pOOFXIekZxS0Y2zPmnULUVFMGdjCJFRafEMWObEL70Y9+hO9973t48cUXcd999wEATCYTevXqlbDgKLY8CS9Wp/fKJQIB8CYzD2eniOWv1qCoIC9kh42KKntQuT8Qv56CStWUUh1MYsmI/SCJtCI7f5iWloZ+/frhiSeeQF5eHvLy8tCnTx+kpaUlMj5KYhNv6C15u1xJhef8tFAdNtbsOyX7GvHoKei7Rgd83R0lEcUyRuwHSaQVNmijiL15MrICoVDTn0oX83j1FNRqg7QR+0ESaYUJjSIW7ijCd2uBUgJRmso0Wk/BeBTrEKUqlixSxMIZRVjNApbdMVTVY6WmJAUAPxnbH5MG5YQTYtKLVYNqIuIIjaKgtjVVuBWCSlOStbW1UcedbIzYD5JIC0xoFDHfxGNvdEh26490tMGLPBGFiwmNoiJ1OjY3CBORFpjQKGY4qiIiLTGhEYWJI1Gi5MSERiTjkYoT2Pru53CLIsyCgOIx12L0gJ5sVUWUpFi2TyThkYoT2Hy0znuUjFsUsfloHR7+a3BVp29DZiLSDhMakYSt734ueXtLh/QWBbaqItIepxw1xLWY5BXqhOxAbFVFpD0mNI3w2JDkZhYE2aQmtd+OraqItMcpR42EOhyTtFU85lrZ+0R0JTWAraqIkgkTmkZ4bEhyGz2gJzKt8v88RHSN4jhNTJQ8mNA0IrfmwrUY7Xmmg1udnYqPc4siHnrlBCqq7AmKjIiUMKFpJNQhl6QdqelgOZwmJkoeLArRSKhDLkk74U77cpqYKDkwoWmIvQ+Tk9wBo0qPJyLtccqRKIDcdPCdY/tzmpgoiTGhEQWQO0V69ICeSLd8/U+mR6aVJftESYRTjjqj1+4ieos7cDo4cCM8ALSFqIIkosTiCE1HPBdVe6MDIr7uLpLsZeN6jdsXN8ITJT8mNB3R60VVr3H74kZ4ouTHhKYjer2o6jVuX9wIT5T8mNB0RK8XVb3G7Ysb4YmSHxNaglVU2TGu/AAGlu3FuPIDYa0j6fWiqte4fclVPiZzYQtRqmGVYwJFe2SMXruL6DXuQNwIT5TcmNASSKk4Qu2FUq8XVb3GTUT6wSnHBJIrgginzRIREUljQksguSIIAdDVniwiomTEhJZApYX53pOOfYmArvZkERElIya0BCoqyIMoc5+e9mQRESUjFoUkWJ7M0SR62pMVa3rr80hEySlhI7S2tjb86le/QklJCe655x5cvnxZ8nGXL1/GlClT0N7eHtbz9MIIe7JiyQh9HokoOSQsoW3duhWDBw/Gli1bUFRUhPXr1wc95q233sLdd9+NixcvhvU8PeEGXX9G6PNIRMkhYQmtsrIS48ePBwBMmDAB77zzTnAwJhM2bNiA3NzcsJ6nN0UFeThcNgmflk/F4bJJKZvMAGP0eSSi5BCXNbSdO3di48aNfrf16tULOTk5AICsrCw0NTUFPW/cuHFBtzU3N4d8XqD29nbU1tZGErpqbW1tcX+PeEmm2HtnWfBFi0vydqkYkyn2cDF27eg5/sDYhwwZoup5LpdLt59ZidLnj0tCmzlzJmbOnOl324IFC9DS0gIAaGlpQbdu3VS9VnZ2dtjPS09PV/2XHqna2tq4v0e8JFPsS2/vFnRwps1qxtLbv4MhQ4JHrskUe7gYu3b0HH+ksVssFt1+5kglbMpx5MiROHjwIADg0KFDGDVqVFyfR/rANUUiipWEle0XFxdjyZIlKC4uhtVqxdq1awEAGzZsQP/+/fGDH/wgrOeRcbDPIxHFQsISms1mw7p164Ju/+lPfxp024EDB0I+jyhS3PdGZEzcWE0pJdojfIgoebH1FaUU7nsjMi4mNEop3PdGZFxMaJRS5HpmpnIvTSKjYEKjlMJemkTGxaIQSimewg9WORIZDxMapRzueyMyJk45EhGRITChERGRITChERGRITChERGRITChERGRITChERGRITChERGRIXAfGsUFj2ghokRjQqOY4xEtRKQFTjlSzPGIFiLSAhMaxRyPaCEiLTChUczxiBYi0gITGsUcj2ghIi2wKIRijke0EJEWmNAoLvR2RAu3GRDpHxMapTxuMyAyBq6hUcrjNgMiY2BCo5THbQZExsCERimP2wyIjIEJjWKuosqOceUHMLBsL8aVH0BFlV3rkBRxmwGRMbAohGJKjwUW3GZAZAxMaBRTSgUWyZwg9LbNgIiCccqRYooFFkSkFSY0iikWWBCRVpjQKKZYYEFEWuEaGsUUCyyISCtMaBRzLLAgIi1wypGIiAyBCY2IiAyBCY2IiAyBCY2IiAyBCY2IiAyBCY2IiAyBCY2IiAyBCY2IiAyBCY2IiAyBCY2IiAyBCY2IiAyBCY2IiAyBCY2IiAyBCY2IiAyBx8dQzFRU2XkOGhFphgmNYqKiyo6HXjkBh9MNALA3OvDQKycAgEmNiBKCU44UE2v2nfImMw+H0401+05pFBERpZqEjdDa2tpQWlqKS5cuISsrC0899RR69uwZ9LjLly9jzpw52LNnD9LT0yGKIiZMmIDrrrsOADBixAgsXrw4UWGTSmcbHWHdHg7fqczeWRYsvb0bR31EFCRhCW3r1q0YPHgwfvWrX2Hv3r1Yv349HnnkEb/HvPXWW1i7di0uXrzova2urg5Dhw7FCy+8kKhQKQJ9c22wSySvvrm2qF43cCrzixYXpzKJSFLCElplZSV+/vOfAwAmTJiA9evXBz3GZDJhw4YNmD59uve2mpoanD9/HnPnzkVGRgYeeughDBo0SPG92tvbUVtbG9sPEKCtrS3u7xEv8Yi9ZFg21h1pQ7tb9N6WbhZQMiw7qvda+Vqd5FTmytc+Qn7GlYhfVwv8ndGOnuMPjH3IkCGqnudyuXT7mZUoff64JLSdO3di48aNfrf16tULOTk5AICsrCw0NTUFPW/cuHFBt/Xu3Rv33nsvbrvtNhw7dgylpaXYvXu34vunp6er/kuPVG1tbdzfI17iEfuQIUBe39hXOV5o+UTmdpfu/vz5O6MdPccfaewWi0W3nzlScUloM2fOxMyZM/1uW7BgAVpaWgAALS0t6Natm6rX+s53vgOz2QwAGD16NM6fPw9RFCEIQmyDpqgVFeTFfBpQbirTJAgYWLaX2wOIyCthVY4jR47EwYMHAQCHDh3CqFGjVD3v2Wef9Y72Tp48ib59+zKZpZDSwnzYrOag292iCBFfbw+oqLInPjgiSioJW0MrLi7GkiVLUFxcDKvVirVr1wIANmzYgP79++MHP/iB5PPuvfdelJaW4uDBgzCbzVi1alWiQqYk4Bl5eaYyBQHoFP0f49kewFEaUWpLWEKz2WxYt25d0O0//elPg247cOCA97+7d++OP/3pT3GNjZKb71TmwLK9ko+JxfYAItI3bqwmXemdJf0dLDfTmuBIiCjZMKGRrswb2QNWc/AaanObi+toRCmOCY2iUlFlx7jyAxhYthfjyg/EPalMGpSDrLTgUZqzU2SbLaIUx+bEFDGtGhJ/6XBK3s51NKLUxhEaRUyrhsRy7bSibbNFRPrGERpFLJ4NiX0FNieeMqwvdlfa/ZKpzWpGaWF+TN+XiPSFIzSKWCJGSp5pTXujAyK6mhPvrrRj+qg85OXaIADIy7Vh1bRh3IdGlOI4QqOIlRbm+62hAbEfKclNa7558gIOl02K2fsQkf4xoVHEArt4xKOvYqKmNYlI/5jQKCrxaEjsK17nrBGR8XANjZKaVHNiFoAQkRSO0CipBU5r9s6yYOnt34loVOh0OlFfX4+2trZYh6n6/fV64KKeYwf0GX9GRgb69eundRi6woRGSc93WrPrsMPIpjjr6+uRk5OD6667TpMjiBwOB2w2fU6V6jl2QH/xi6KIS5cuob6+XutQdIUJjZKS796zWBWbtLW1aZbMiMIhCAJ69eqFCxcuaB2KrjChUdJRaqmVnxHdazOZkV7wdzV8LAqhmIhlk2KtWmoRkb4xoVHUArt5eEZUkSY17j3Tn+rqasycORNz5szBs88+G3R/W1sbfvWrX6GkpAT33HMPLl++7L3P7Xbj17/+NQ4dOuS9bdWqVZgxYwZmzZqFysrKhHyGM2fO4Pbbb5e878iRI5g2bRpmzZqFZ555JuzXPn78OObOnev3XsXFxSgpKcGyZcvQ2dkZcdz0NSY0ilqsR1RsPqw/y5Ytw9q1a7F161YcP34cNTU1fvdv3boVgwcPxpYtW1BUVIT169cDAOrq6nDnnXfixIkT3seePHkSVVVV2LlzJ1avXo0nn3wy7vFXVFRg0aJFaGhokLx/9erVWL16NbZv34733nsPp06p/91+6aWX8Mgjj6C9vd1726pVq7Bw4UJs2bIFoihi//79UX8G4hoaxUCsR1TKLbWuRPSayeB//ud/8NZbb6G5uRkNDQ2YP38+CgsL8d577+GZZ56B2WzGtddei8cffxzt7e14+OGH0dTUhIaGBsycORMlJSWYO3cuevTogStXruCxxx7D0qVLYbFYYDabsXr1alx99dUoLy/3jmpuv/12zJs3D2VlZUhLS4PdbscXX3yB8vJyDB06FBMnTsSgQYMwaNAgPPzww95Yf/GLX6C1tdX784ABA7BixQrJz9Xc3IyOjg70798fAHDzzTfjnXfewdChQ72PqaysxM9//nMAwIQJE7wJrbW1FStWrMBLL73kfew3vvENZGRkoKOjA83NzbBYui5Thw4dwsmTJ3Hvvfd6H1tfX48HHngAvXv3xvnz5zFhwgQsWrTIL75f/OIXaGpqgtnctZ/x+uuvx/Lly/0e0717d2zevBmTJ0+W/IxDhgxBY2MjnE4n2tvbva+1du1avP/++xBFEXfddRduu+22oOf2798ff/zjH/Hb3/7We1tNTQ1uuukm75/H4cOHZd+b1GNCo6jFupuHUkut2lr9JjSg6wK+YcMGXL58GTNnzsSkSZPw6KOPYsuWLejVqxf+8Ic/4K9//SuGDh2KqVOnYsqUKTh//jzmzp2LkpISAMAdd9yByZMn4+WXX8bQoUNRVlaGY8eO4csvv8Q//vEP1NfXY8eOHXC5XCgpKcHYsWMBAH379sXjjz+OHTt2YPv27Xj88cdx7tw5vPLKK+jRo4dfnC+++KLfzw6H/JeT5uZmZGdne3/OysrC559/HvSYnJwc7/1NTU0AgBtuuCHo9SwWC0wmE2677TY0NTXhiSeeANB14Z8wYULQ4+12O/785z8jJycHJSUlqKmp8UumL774Ysiy/YkTJ8reBwD5+fm47777kJubi/z8fAwaNAgHDx5EfX09tm3bhvb2dsyaNQvjxo1Dt27d/J5bWFgYVH4viqK36MP3z4Oiw4RGUYtHk+J4t9TSyne/+12YTCZcddVV6NatG7744gt88cUXWLhwIYCutaZx48bhlltuwcaNG/H6JFnwJgAACeBJREFU668jOzsbLpfL+xoDBw4EAMyYMQMvvfQSfv7znyMnJweLFi3C6dOnMXr0aAiCAKvVihtvvBGnT58G0DXKAIBrrrkGH3zwAQCgR48eQckMCD1C27x5M/bt2wcAKC8vR0tLi/e+lpaWoIt6dna29zFS9/uqqKjAVVddhT//+c9oaWlBSUkJCgoKcPXVV0s+/oYbbkBubi4AYPjw4fj000/9EpqaEZqSK1eu4MUXX8TevXtx9dVXY/Xq1fjLX/4CURRRU1PjXRtzuVw4e/Ys5s+fDwD4/ve/j/vvv1/yNU2mr1d7Qv15kHpMaBS1RDQpNgrP2tLFixfR3NyMa665Btdccw3Wr1+PnJwc7N+/H5mZmfjLX/6CESNGoKSkBEePHsXBgwe9r+H5Zr9//36MGjUKCxYswGuvvYb/+q//wpQpU/DKK6/grrvugtPpRFVVFX784x/7Pc+X74XVV6gR2p133ok777zT+7PVakVdXR2uvfZavP3221iwYIHf40eOHImDBw9i+PDhOHToEEaNGiX7Z9StWzdkZmbCbDYjKysLaWlpfgkz0OnTp+FwOJCWloYPP/wQ06dPD/os0WyszsjIQGZmJjIzMwF0TYlevnwZN954I8aMGYMnnngCnZ2dWL9+Pfr164dNmzaFfM1vf/vbePfddzFmzBgcOnTIO4qm6DChUUwYdUQVaxcvXsS8efPQ1NSEZcuWwWw24+GHH8a9994LURSRlZWF1atXQxAELF++HHv27EFubi7MZjM6Ojr8Xus73/kOSktL8cc//hEmkwkPPfQQhg4divfeew+zZ8+G0+nErbfe6jdaiZff/e53+M1vfgO3242bb74ZN954IwDg7rvvxgsvvIDi4mIsWbIExcXFsFqtWLt2rexr3XHHHfjggw8wZ84cuN1u3HHHHRg0aJDkGhrQlUwfeOABXLx4EbfeeqvkNGYk3nnnHVRWVmLBggUoKyvD3XffjfT0dOTk5KC8vBzdunXDe++9h5KSErS2tuLf//3f/aZelSxZsgSPPvoonn76aQwaNAiFhYUxiTnVCaIoiloHEWtd7ZGG6P494iVVY9f6c2/btg319fX4zW9+o1kMkUqG1lGXLl3Czp07cd9993lvq6+vx4MPPogdO3YoPjcZ4o+Ep/9kJL+3Wv++a4Fl+0SkC6Io4u6779Y6DEpinHIkSpAf/ehHuhwlJIurrroq6LZ+/fqFHJ1R6uAIjVKKAWfYyaD4uxo+JjRKGRkZGbh06RIvFJT0PMfHZGRE2Y07xXDKkVJGv379UF9fr9mRHE6nE1arVZP3jpaeYwf0Gb/ngM+PP/5Y61B0gwmNUobVavVuStaCnqvO9Bw7oP/4SR1OORIRkSEwoRERkSEwoRERkSEYslNIdXU10tPTtQ6DiCjmLBYLvvWtb4V83D//+U9VjzMSQyY0IiJKPZxyJCIiQ2BCIyIiQ2BCIyIiQ2BCIyIiQ2BCIyIiQ2BCIyIiQ2BCi1BTUxPuu+8+3HnnnZg9ezaqqqq0Dimkzs5OPPbYY5g9ezbmzp2LM2fOaB2Sak6nE6WlpSgpKcGMGTOwf/9+rUMK26VLl3DLLbfg9OnTWocSlhdffBGzZ8/GtGnTsHPnTq3DUc3pdGLx4sWYM2cOSkpKdPPnfvz4ccydOxcAcObMGRQXF6OkpATLli1DZ2enxtElNya0CG3YsAFjx47F5s2bsWrVKjz++ONahxTSG2+8gY6ODmzfvh2LFy9GeXm51iGp9uqrryI3NxdbtmzBSy+9hCeeeELrkMLidDrx2GOP6e44kHfffRdVVVXYunUrNm3ahH/9619ah6TawYMH4XK5sG3bNsyfPx9/+MMftA4ppJdeegmPPPII2tvbAQCrVq3CwoULsWXLFoiiqMsvconEhBahu+66C3PmzAEAuN1uXXQmqaysxPjx4wEAI0aMwEcffaRxROrdeuuteOCBB7w/m81mDaMJ31NPPYU5c+bgG9/4htahhOXtt9/G4MGDMX/+fNx33334t3/7N61DUm3gwIFwu93o7OxEc3MzLJbkP1ykf//++OMf/+j9uaamBjfddBMAYMKECThy5IhWoelC8v8NJ4GdO3di48aNfretXLkSw4cPx4ULF1BaWoqlS5dqFJ16zc3NyM7O9v5sNpvhcrl08Q89KysLQNdn+PWvf42FCxdqHJF6r7zyCnr27Inx48fjT3/6k9bhhKWhoQFnz57FCy+8gPr6etx///34+9//DkEQtA4tpMzMTNjtdtx2221oaGjACy+8oHVIIRUWFqK+vt77syiK3j/rrKwsNDU1aRWaLiT/lSwJzJw5EzNnzgy6/dSpU3jwwQfx29/+1vstKpllZ2ejpaXF+3NnZ6cukpnHuXPnMH/+fJSUlOCOO+7QOhzVdu/eDUEQ8M4776C2thZLlizB888/j969e2sdWki5ubkYNGgQ0tLSMGjQIKSnp+Py5cvo1auX1qGF9N///d+4+eabsXjxYpw7dw7z5s3Dnj17dDGb4mEyfT2J1tLSgm7dumkYTfLjlGOEPv74YzzwwANYu3YtbrnlFq3DUWXkyJE4dOgQgK4GzoMHD9Y4IvUuXryIu+++G6WlpZgxY4bW4YTl5ZdfxubNm7Fp0yYMGTIETz31lC6SGQCMGjUKb731FkRRxPnz5+FwOJCbm6t1WKp069YNOTk5AIDu3bvD5XLB7XZrHFV4vv3tb+Pdd98FABw6dAijR4/WOKLkpp+v50lm7dq16OjowJNPPgmga/Tz/PPPaxyVssmTJ+Pw4cOYM2cORFHEypUrtQ5JtRdeeAFXrlzB+vXrsX79egBdC+h6K7LQm4kTJ+L999/HjBkzIIoiHnvsMd2sX951111YunQpSkpK4HQ6sWjRImRmZmodVliWLFmCRx99FE8//TQGDRqEwsJCrUNKauy2T0REhsApRyIiMgQmNCIiMgQmNCIiMgQmNCIiMgQmNCIiMgQmNKIonDp1Cu+//77WYRARmNCIovL666/j448/1joMIgI3VhOp1tzcjIcffhhNTU1oaGjAlClT8Ne//hVWqxVDhw7F0qVLcd111yEtLQ1PP/201uESpRwmNCKVzpw5g6lTp2LKlCk4f/485s6dix//+Me46qqrMHz4cLS2tuKXv/wlvv3tb2sdKlFKYkIjUumqq67Cxo0b8frrryM7OxsulyvoMQMHDtQgMiICuIZGpNpf/vIXjBgxAr///e9x6623eo/28D1F2Lc7OhElFkdoRCpNnDgRy5cvx549e5Cbmwuz2YwbbrgBTz/9NK6//nqtwyNKeWxOTEREhsD5ESIiMgQmNCIiMgQmNCIiMgQmNCIiMgQmNCIiMgQmNCIiMgQmNCIiMoT/D2F1EstE1Hm5AAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x432 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "j=sns.jointplot(x='atr', y=target, data=top100)\n",
    "j.annotate(pearsonr);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### MACD"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-17T18:18:02.622980Z",
     "start_time": "2020-06-17T18:17:54.957309Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbQAAAGoCAYAAAAuIBCmAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nO3de3wU5b0/8M9kd5NsLpCAOQpRKtAG80OQEI9VETzEI1gvbQpyCYp3qa1Yb025FAERIUipHqp4qxeOVa7StDY90kooVBAVTBBpoBYEZEEIl0Cy2SS7m/n9EWfZ3czMzm72Mjvzeb9eviS7s5tnN7vzned5vs/3EURRFEFERJTkUhLdACIiomhgQCMiIkNgQCMiIkNgQCMiIkNgQCMiIkMwdUA7cOBAopugiG2LjF7bptd2AWxbpPTcNrMydUBzuVyJboIiti0yem2bXtsFsG2R0nPbzMrUAY2IiIzDmugGEJnJmeY2NLZ6Ot2enWZF94zUBLSIyDgY0IhiIDhwtVmzcPh0M1rdXnz81elOx48oOI8BjaiLGNCIYqCx1YPN/zrh+/noN0fR6wIRRX1yEtgqImPjHBoRERkCe2hEOuDxtuPw6eaA2zivRhQeBjSiLpJL9Gh1e8N6Dpe7HTX7TgXcxnk1ovAwoBF1UfB8GQDOlRElAOfQiIjIEBjQiIjIEBjQiIjIEBjQiIjIEJgUQqSRUtmqcDMaiSg2GNCINJLLZgRil9EotzYN4Po0IiUMaEQ6Jbc2DeD6NCIlnEMjIiJDYEAjIiJDYEAjIiJDYEAjIiJDYEAjIiJDYEAjIiJDYEAjIiJD4Do0oiCsCEKUnBjQiILEuyIIEUUHAxpRkmFJLCJ5DGhESYYlsYjkMSmEiIgMgQGNiIgMgQGNiIgMgQGNiIgMgUkhZGpya8643owoOTGgkanJrTnjejOi5MQhRyIiMgT20IgMQm7BNRdbk5kwoBEZhNyCay62JjPhkCMRERkCe2hkCqygT2R8DGhkCqygT2R8HHIkIiJDYEAjIiJDYEAjIiJD4BwakYFxM1AyEwY0MpSUtEzZE7hZsxm5GSiZCQMaGUqLV8AOZjMSmRLn0IiIyBDYQ6OkJbdYWrDYALQlpkFJxH9urc2a5fs359YomTGgUdKSWyx9yXk8GWvhP7d29Juj6HWBCIBza5TcOORIRESGwB4a6R7rMMYPt6ChZMaARrrHOozxwy1oKJkxoJFusCemT1ycTcmCAY1iSilIWVMAT3vgba1uLz7+6nSnY9kTSyylxdlX9+8h+7dloKNEYUCjsMlV45ALUIB6kKo51NDpNkoe4QQ6pc+H0u0MihQJQRRFMdGNiLYvv/wSHk/nK0ciomRntVrxve99L9HN0CVDBjQiIjIfrkMjIiJDYEAjIiJDYEAjIiJDYEAjIiJDYEAjIiJDYEAjIiJDYEAjIiJDYEAjIiJDYEAjIiJDMGRA+/LLLzUdd+DAgdg2pAvYtsjotW16bRfAtkVKz20DtJ8HjcSQAU1rHUeXyxXjlkSObYuMXtum13YBbFuk9Nw2QPt50EgMGdCIiMh8GNCIiMgQGNCIiMgQTLPBp9vtxuHDh9HS0hJwW11dXQJbpYxti4xe2xZOu9LT03HhhRfCZrPFuFVExmKagHb48GFkZ2fj4osvhiAIADomde12e4JbJo9ti4xe26a1XaIo4uTJkzh8+DD69u0bh5YRGYdphhxbWlrQs2dPXzAj0iNBENCzZ8+AkQQi0sY0AQ0AgxklBX5OiSJjqoBGRETGZZo5NIqd2tpaPP3007BYLLjmmmswderUgPtbWlpQXl6OkydPIjMzE4sWLUKPHj2wfft2LFq0CIIgYMSIEb7HrVu3DitWrIDX68V1112HBx98MKbtf+CBB9DQ0ACbzYa0tDT87ne/kz3uxRdfxL/+9S88++yzmp7X6/Vi1qxZ+OqrryAIAhYtWoQ+ffrg5MmTmDVrFs6ePQuv14tnnnkGffr0ieZLIjIlBjTqsjlz5uC3v/0tLrroIkyZMgW7d+/GwIEDffevWLECBQUFeOihh1BVVYVly5Zh1qxZWLBgAf7nf/4HF110ESZPnoySkhJkZWVhxYoVeOutt5CamoqlS5fC7XbHNOPv0KFDqKqqUh3q27RpEzZv3owLLrhA9v7TzW04dqYFbd52pFpScH73dOzYuhkAsHLlSmzevBkLFy7Eiy++iMWLF+OWW27BjTfeiG3btmH//v0MaERRwIAWJ+vWrcOGDRvQ1NSE06dP48EHH8To0aPxySef4Nlnn4XFYsFFF12EefPmobW1FdOnT0dzczNOnz6NcePGYdKkSZg8eTJyc3Nx9uxZzJ49GzNnzoTVaoXFYsEzzzyD888/HxUVFdixYwcA4Oabb8add96J6dOnIzU1FQ6HA8ePH0dFRQUGDhyIkSNHol+/fujXrx9+9atf+dr6k5/8BM3Nzb6f+/fvj7lz58q+rqamJrS1tflOyNdccw0++uijgIC2Y8cO3HfffQCAESNGYNmyZQCA1atXw2q1wul0oqmpCTk5Odi8eTMuvfRSTJs2DfX19XjggQdgs9mwefNm7NmzB1OmTPE97+HDh/Hwww8jLy8Px44dw4gRI/DAAw8EtC/Uazlx4gTOnj2LBx54AGfPnsWUKVMwcuTIgOc4ePAgVq1ahYceeghr1qzx3b5kyRJ8+umncHu8GP3jibjy2usAAG3edjhOu1B89Qj813/9FwDg6NGjOO+88wAAn332GQYMGIC77roL+fn5Ae89EUWOAS2Ompub8cYbb+DUqVMYN24cSkpK8MQTT+Cdd95Bz5498dxzz+EPf/gDBg4ciBtuuAE333wzjh07hsmTJ2PSpEkAgFtuuQXXX3893n77bQwcOBDTp0/H9u3bcebMGfzzn//E4cOHsXr1ang8HkyaNAlXXnklAKB3796YN28eVq9ejVWrVmHevHk4evQo1q1bh9zc3IB2vvzyy5pfU1NTE7Kysnw/Z2Zm4uuvv+50THZ2tu/+xsZGAIDVakVtbS0ee+wx9O/fHz169MDp06exfft2rFixAq2trSgrK8PatWsxYsQIjBgxotPvdzgceO2115CdnY1Jkybh2muvxdChQzW/FrfbjXvuuQd33HEHzpw5g7KyMgwePBg9e/YEADidTsybNw+LFi3Cvn37fI/btGkTDh8+jJUrV+LzA/X4xc/uxqDiK5CZ1fE620URx860ILdXN0ybNg1/+9vfsHTpUl+bu3XrhjfffBPPP/88Xn31VTz88MOa33MikseAFkf/+Z//iZSUFJx33nno1q0bjh8/juPHj+ORRx4B0DHXNGzYMFx77bV4/fXX8fe//x1ZWVkBRUaltUm33norXn31Vdx3333Izs7Go48+in379uHyyy+HIAiw2Wy47LLLfCfhwsJCAMAFF1yAzz77DACQm5vbKZgBoXs1K1euRHV1NQCgoqICTqfTd5/T6US3bt0Cni8rK8t3TPD9Q4YMQXV1NZ599lm88soryMvLwxVXXIGsrCxkZWWhf//+OHDgAAYPHiz7nl5yySXIyckBAAwePBgHDhwICGihXst5552HiRMnwmq1omfPnigsLMRXX33lC2hbtmxBfX09Hn30UZw9exbHjx/HK6+8AkEQsHv3bkyePBlNrR54PR7UHzuKZ2b/sqMtxVdg7G13AwAWLVqEqVOn4o477kBVVRVycnJQUlICACgpKdE8J0fyKmscWLx+L440uNA7x47y0QNQWpSf6GZRAjCgxdHu3bsBdAxzNTU14YILLsAFF1yAZcuWITs7Gxs2bEBGRgZef/11DB48GHfeeSe2bduGTZs2+Z5DmufZsGEDiouLMXXqVPz5z3/G7373O4waNQrr1q3DXXfdBbfbjZqaGvz4xz8OeJy/lBT5JNdQvZqJEyfi7rvv9v1ss9lw6NAhXHTRRfjwww87JYUMHToUmzZtwuDBg7F582YUFxdDFEXcdtttePHFF9G9e3dkZmaira0NQ4cOxTvvvIPW1lZ4vV7s27dPdX5p3759cLlcSE1Nxeeff46bbroprNeydetWvP3223jllVfgdDrx5Zdfol+/fr77R40ahVGjRgEAPv74Y6xcuRJTpkzBhg0b8P3vfx9PPfUU/ulowIrlv8P5vfLx5G9e9D12y4b38VHLGfzkJz9Beno6BEGAxWJBcXExNm3ahNLSUnz66af47ne/q9pGUlZZ48CMdbvgcnsBAI4GF2as2wUADGomxIAWRydOnMCdd96JxsZGzJkzBxaLBb/61a8wZcoUiKKIzMxMPPPMMxAEAXPmzMH777+PnJwcWCwWtLW1BTzXpZdeivLycvz2t79FSkoKZsyYgYEDB+KTTz7BhAkT4Ha7ccMNNwTMZcXKk08+iV/84hfwer245pprcNlllwEA7rnnHrz00ksoKyvDtGnTUFZWBpvNhiVLlkAQBNxzzz24//77kZqairy8PMyfPx+ZmZkYO3YsysrKIIoifvazn/nm1oLn0ICOYPrwww/jxIkTuOGGGzBgwICw2n7ttdfiww8/xPjx45GSkoLHHnsMPXr0wEcffYQdO3Z0Cs6SkpISfPLJJ5g0aRIam5woumoE7BmZvvtTBAE/uvkGLJo3B7fddhva2towc+ZMpKWlYdq0aZg1axZWrlyJrKwsLFmyJMx3nCSL1+/1BTOJy+3F4vV7GdBMSBBFUUx0I6Ktrq7ON8Smdls8yyStW7cO+/fvxy9+8QtNx+u1hBOQmLadPHkSa9asCUj6OHz4MB577DGsXr06oW0D5LMcczNSI26X3Oc1VuL5u8IVqm19p1dB7gQmAPiq4iaZe6JHz+8boP/2xQJ7aJQURFHEPffck+hmKMrNSA0IYBQfvXPscDR03mizd44+LwYpthjQ4mTMmDGJbkJSk1Le/V144YUBvTMyn/LRAwLm0ADAbrOgfHR4Q89kDKYKaKIosk4exUyoYUetDDgLEDPSPBmzHAkwUUBLT0/HyZMnWXGfYuJ0cxscp11o/zYYSYurAYQV1KTtY9LT02PSTiMqLcpnACMAJgpoF154IQ4fPoz6+nrfbbEuqdQVbFtkEtW2b860wNPeuWdV/7WAC7qno9HVCmebCG+7CEuKgG52KzJS5b9+0gafRBQe0wQ0m83WacNEPWcBsW2RiWfb/Bf0Kg0SCgCenTAE097diVbvuaPsNgsWjhnEngVRFHH7GKIISAt6HSrBDOjItlu8fm9AMAPOrZUiougxTQ+NKJrkFvQGs6UIaG7z4HSzW/b+Iw0ulm0iiiIGNKIIHJFZ+xSsHVAMZgDQ3W5j2SaiKGJAI13SS89FqR1KC3r9eWWSRCS2FAFnW9wIPoRlm4gixzk00p3g+Smp51JZ49BNO8pHD4DdZonoeXPsNkBAp2Am0dL7I6LOGNBId9QKzuqlHaVF+RhbnA9LmGsa83PsyEyzwu1V7r2xbBNRZBjQSHeUeijx7rmotaOyxoF3dzjgVajqYUsRYLMEBjupJJPa62DZJqLIMaCR7ij1UOLdc1Frh1qWY47dhsXjLsPiWy/rGF78VrotRfV5gXM9wHgPrxIZAQMa6Y7c/FQiei5y7RAAjLwkT7WX1eppl/336WY3ZqzbhZGX5KnOvyVqzpAo2TGgke6UFuVj4ZhByM+xQ0DHvFMiqmqUFuVjaJ/uAbeJAFZ9+rXq46ReltIc3MY99QGvT24ejguvicLHtH3SJT0UnK2scWDrvlOdbldL6JCopfQfaXAFvL6+06sUjyMi7RjQiBQsXr9XtaxVpHIyAosnd3WTSr2s2SNKNA45EimIVQ+pqcUTMD/WlTlDvazZ06vKGgeGVVSj7/QqDKuo5vticAxoRApilVXpbhfxyKpa3wlWbs5wbHE+Fq/fG/JErJc1e3rEYG8+HHKkqDHa0Ff56AEBtRajLbh2o/ReSSdiLTUe9bJmT49CLYwn42EPjaLCiFfDwT2nWJDrTYXT69LLmj09YrA3H/bQKCqMcDXs38PsbrdBEICGZjd659jx7IQhWLx+b8iCxJEIPsGGcyKW60Wy2kiHribbUPKJW0Brb2/H3LlzsXfvXqSmpmL+/Pn4zne+47u/uroaL7zwAqxWK8aOHYvx48cDAEpLS5GdnQ0AuPDCC7Fw4cJ4NZnCkOxXw8HDfA2uc9u+SL3NscX5WPXJ13CrVNGPRPAJNpwTsXSxYJSh3uBh60mDshDpBuQM9uYTt4D2wQcfoK2tDatWrUJtbS0qKirw4osvAgDcbjcWLlyItWvXwm63o6ysDCNHjkS3bt0AAG+99Va8mkkRSvar4VAbdrrcXvx+26GY/O7gE2y4J2I9rNmLBrm5w6VbW5Df2xHR6zNasKfQ4hbQduzYgeHDhwMAhgwZgi+++MJ33759+9CnTx90795RlaG4uBjbt29H79694XK5cM8998Dj8eCxxx7DkCFD4tVkCkOyXg1X1jgw90+7A3pk8ZRhS+l0gjXriVjuoqLVK3Zp2NoowZ60iVtAa2pqQlZWlu9ni8UCj8cDq9WKpqYm37AiAGRmZqKpqQnp6em49957MW7cOBw4cAD3338/3n//fVit6s1ubW1FXV1dyDa1tLRoOi4Rkq1tA9KBqVf2wPLPTqPe6UFephV3Ds3FgPSzqKs7G9bzV+9v7PQ8Jf2yQz9QoW1qv+c3H9ZDQ+GPmLEIomx7B6QDv/tRL79bwn8ftdLLZ01t2FoP7QuWqPetUOMYrMfj0eX71lVqrz9uAS0rKwtOp9P3c3t7uy8wBd/ndDqRnZ2Nvn374jvf+Q4EQUDfvn2Rk5OD+vp69OrVq9Pz+0tLS9P0R6+rq9P84Yi3ZGxbYSHw4E1de+7KGgee33bQd6V+3OnB89tOIb+3tivtcN63+/5YndBgBgCNbSLu++PRhPbA9PJZ651zVHHYWg/tC6aX902J1WrVdftiIW5p+0OHDsXmzZsBALW1tSgoKPDd179/fxw8eBANDQ1oa2vD9u3bUVRUhLVr16KiogIAcOzYMTQ1NSEvLy9eTSYNol2JQSlb8sn3dke94oNeElaMsMQhGuQqpqRZBN0PW5N+xK2Hdv3112PLli2YOHEiRFHEggUL8N5776G5uRkTJkzA9OnTce+990IURYwdOxbnn38+br31VsyYMQNlZWUQBAELFiwIOdxI2kRjEbTcJP4jq2rx5Hu7MeeWgRH1OJSCzOlmN043u32/R2mhcTiUElkAIEUAopzMqCoZljjEeuG83NzhpEFZun5PSF/iFh1SUlIwb968gNv69+/v+3dJSQlKSkoC7k9NTcWSJUvi0j4zCacShRqlzEBp369wnw9QDzL+ohEAykcPwCOramXvi2cwk+ilxygnWp+ZUEExOInDiHNAFDusFGJC0ar/p3YCjrSeoNywUyS/P1ZyM2zIj9FSBGmJgx4L6kbjMyNXTaZ87U4MefKvunqtlLw4fmdC0VoEHao3FUnAkRt2crZ6ZNPq/QOAdHxephUzb+7WqdcQ3DMYeUke3t0R/snzpsEdCUnRXpMmLXGIVk9Ijv97kJNhgygCZ1xuxffMXzQ+M3JB0e0VfX/baL5WMicGNBOK1iLoUMV7I11UHTzsFHySlzhbPZhVuQvv7nAEZEUGnxTlgkSkAWnjnvqIHqcmN8Pmm3McVlEdlRJiSgFcem5pPhKQf8+CReMzoyX4JcNcIukXA5oJRWsRtHTSkVuYHM1F1dLvefK93QEn4gaXWzYwBZ8UQ1UBCUcsajm2uNt9/1Y66TsaXBhWUY0jDS5kpFrgbPP/26Vg4ZjBqgH87W2HVDcrDRVIIv3M+AfWFEGAVww9OannuUTSNwY0E4pmJQqpN9WVDDgtjy0t6tgfzD+gqXE0uHx7jen9BOkfTJR6QgLOBVP/YNbx+HY8tqoW2w+ewsY99bKP15LjovY+RfKZCQ6sWoIZkDzl0kh/GNBMKtolgSJ9vmjs/aVEeh6tmZOJ5Ghwoe/0KuRk2GTvDxUK2tH1eb1QgSTcv7FSz9giCGgXReRk2NDU4gko9pwM5dJIvxjQTEKvm28qZc89sqoWc/+0O2ALl+52W1g1F6WeT/noAShfuxPuRJcFCUEENPdAoy0WgUTpAqRdFPFVRUdJGb1+Lik5MaCZQKheULROKkrPo3a7Ws8peAuXSDgaXHh0dS2URrssKQLa20VNQ3LJzJYiwGoR4PKbr5OkCMDCMYOiHki0JJKweDBFEwOaCYRaQxRJmnioLDrpebYfPKV6ezwoBbMUoWMhZnTSRfQt1ZrSae5N0i7GJk0+WXdgoOTFgGYCaplzT763O+w08ee31eMve/f7ejVKWXQutxcrPv66UzKA0u3x1i52DH+ZgVIwAzoCeyyYdRscShwGNBNQS4pQmrNRCoKVNQ5U7W3sdLtSWFAKWokOZnROLMt8cUiR4omlr0wgnHJSEqWMt0jKWZG+/Ucmr2vJGBjQTKC0KB8LxwzSfLzaPIda6nyMRq4ohgQAdw7NTXQziKKCAc0kSovyFYvq5tg7Cu4KAPJz7KoZb0o9NwHAbVf2gUWQD2tKt1NiiYDm3cCJ9I5jDSailHU294fa9y4rHz0A09buRKvfmi4pmM0vHYS3FRb3tosiLBpLH1H85MsUeI4keSPW68m4Xo20YEAzKLUTQFdODKVF+XAcceCdXU2yz6GUgCKCiSB6Y/t2N+jq/Q48t+UrX8UOR4ML5Wt2AtCWzq+00Wv5mlosHjckKrsERGsHAgZGY2NAM6BQJ4CufoFL+mXjwZuukL1v5CV5Ud9ahaIv1SLgmVsvQ2lRPgb9YWdA+SkAcLeLmPun3QDkL4C0FB12twOPfbuBavDuCeEEFbV1lOH2ImO1NQ/pAwOaAUXrBKCF/8mpu92GM2GUpqLE8S8D1tgm33NucLllA0DwYnm1nnc7EPC5iySoRGv/vnh+L/TA2y7iTHMbumekJropccOkEAOK1gkglMoaB8rX7PTtQNzgchu+hJRRiNC2BEMuAKz4+OuwtuPxH4KOZOdrpUSkcKvyx+t7oRfedhGNrZ5ENyOuGNAMKFongFBmrPu801AVJQ8p0HRLC+80EO5cqH+GayRBRW4dZSQltOL1vaDEYUAzIKWF1M1tHlTWhFc/sbLGgWEV1eg7vQrDKqp9j6+sccgWuqXkIQWan1zREzZL4LKKFAGI1koL/wCoFDxSBKHTZ0wiraPUurRESbQCI+kX59AMSGkn6dPN7rAmwZWy17qlpSAlJbzKI6Q/XlHEsIpqTBqUhcW3XhYwF+ps84S13Y7dZoG3vR1tMo/xX/8ot3REagugPKcWjWQm1pY0Pga0OEhEqrC0w3Pw/mHhTIIrbdB4trUdHdP9lOwcDS4s/ocLt19px5bpJQCAYRXVYe07l//tZxpAyOr6wUFFLkMylokarC1pbAxoMZbIVOGuToLrfZdnip7fbzuEP+88ijNhJvYIgC8QSkJdvPkHlb7Tq2Sf16iJGvEkCIDVZJNKDGhBot2bSmSqsJYNFtWwsoe5hNMrkwR/lsLtAXX1M0rKRBHwmGwgxWTxW53Um5LS0KXelP8ktVKShJJEpgorTYKPvCRP02tgMCM10UioYKIGRRN7aDjXK5O7UvTvTUUyfBjvK9DgHubY4nxUfX7Ut++ZABGrPvk6oMzRI6tq8eR7uzHnloEAzg0ZsYdGSvKDRi8iHdkIlahRvb8R9/2xmkkcpInpA1pwkJIj9aYiGT6M5zb0cgF31SdfB+zr0qyQan+62Y3ytTsBEb5gpxTMBChv6EnGZrdZOqXMh7rQCxXslIYpK2scWLr1hK8QNktVUSimD2hKmXz+pN5UJMOH8UwVlnst4Sx81pqmzWBmXmOLOwefUNU/Ik2KWrx+b8CuDv7Py4AWmiAAHm+7qcpfmT6ghZrL8u9NRTp8GOtUYbUhU6Jo2rinvlOPS+lzJw1nB9MalMxWqiraRBHYuu8URhScZ5qAZvqkELVgFFyRQI8T2P6JLESxJm0t4584FQktQYmlqihcpu+hKc1xyZXWSWSlgeCq9oIANDS7FbfukNhSBEDQPpwYjPNlFCwa9Tu1BCW5zWQTfQFJ+mb6gCZXJirdptxxTUSlgeBJd//1QmrBLOfbwCdlOEbitiv7cH8zijpHgwtF8/4KUQTOuNyKySJqm8kSBTN9QJO0+q1ADLfmYaxpSVwJlmO3wdnq6fLVNIMZxYr/hZZSsojaZrJEwUw/hwZEtkdTPIU7CW63WdDm8XJrF0oqevrOGYEgAEV9cuDxtuPw6WYcPt2MM81tiW5WTLGHBv1nU6llkgUT0JFazZ4VJSNHgwvDKs4tpJ40KAuFhYluVXISRaDmUEPAbUbPeGQPDfrPpgpnElxER2q1GrvNgucmDEGUtrsiiir/DMrffFgf9h5+oYRbvo6SBwMa9JmO76+0KB+5GTbNxx9pcKke73J78as/7GL2IumeV+xI2IoWLfVaKXkxoCF6O+Kq6epV4U2De2nuUfXOsfvqMipxtoWXZEIUS2qf7Uh2AVCi9/ly6hrOoX0rlun44RY1rqxxYMGfD6HeuR+9c+wYeUke3t3h0NSjslkEOFs9eFSmQgORXsVrtEDv8+XUNQxocRBOUWO54Pf2tkOavvC5GTY0tXiiekVLpAeVNY6oXHCaaf81KcvRn5TxqCY7zZq0iSMMaHGgdPXnaHB1+qLKBT8twSzH3jFnxlR9MqJf/WFXpwr/Wiv2+B+bk2GDLUUI+J7oab48muSyHLVI5kxIzqHFQY5KgkbwhHSkQx8NLneXKoIQ6ZmzzYtZlR3D9OEkdgQfe7rZDQjfVtFBbObLKXHYQ4uxyhoHmlo8ivcHDz0qDYkE11RkjUUyG2lt5cY99bJD+I+sqsXMdZ9jwZjBAXVXO22p5BWRmWZF7ZxR8Wk4xQ0DWhTJDYMsXr835DCgf69MqVjy2OJ8bNxTH3LLDiIjC1UwoNndjsdWn0uIUvqeMAnEmBjQokQpk1FLDUb/CWnpynLBn79AvdMjOz9QWePA46t3qhYmJjKr9m/XrvnXZw1mxCQQYkCLGqVMRkuI7V3kJqRLi/IxIP0sCmVq/kiBk8GMSFmoTF9nq8eXkBVOgkkykcty1EJLJmS0RId5PpAAACAASURBVDujkgEtSpSGMLyiCLvNEhDspPmvfJUvT/X+Rtz3x+pOX7JIKu8TUaAGV8eOGtsPnsK7Oxya14gmk0izHOMp2hmVDGhhULuSU5rXyvebS9N6BVhZ48DSrSd8Gxv6f8k4d0YUHS63Fys+/rrTaIfSGlHSPwY0jUJV+1BK5pCCl9wCaqUgt3j93oBdeoFzX7JQQ5hEpJ3Sd4lJI8mJ69A0ClUDTq4e5NjijiHC4PqNodbRqC3EZjAjih6LIF9FkkkjySluPbT29nbMnTsXe/fuRWpqKubPn4/vfOc7vvurq6vxwgsvwGq1YuzYsRg/fnzIx8STlhpw/j0xpR7d9oOnQg5zMC2fKD6u7JeLzw6dkR1ZSXaRJoXEUzgJKFoSSOIW0D744AO0tbVh1apVqK2tRUVFBV588UUAgNvtxsKFC7F27VrY7XaUlZVh5MiRqKmpUXxMvIVTA04prd7l9qrWZZQ2Nxx5SR7WfPp1p2FHIoquAyddWDhmkCGzHJMhKSQcWhJI4hbQduzYgeHDhwMAhgwZgi+++MJ33759+9CnTx90794dAFBcXIzt27ejtrZW8TFqWltbUVdXF/K4lpYWTccBwKRBWVi6tSUgyKRZBEwalBXwHNX7G7F06wnFocFQIcrR4MKaT7/GyIvT8dk3bhx3KlcZIaKuOdLgwoD0s/jdj3r53XoWdXVnQz62paUFL1R9guWfnUa904O8TCvuHJqLkn7ZsWswILucR47X68XRb47GtC3xdLKHgMZvDqq+/rgFtKamJmRlZfl+tlgs8Hg8sFqtaGpqQnb2uQ9BZmYmmpqaVB+jJi0tTdMfva6uTvOHo7AQyO8der3KfX+s7nLPqtUr4u8HXNjz9E0YVlGtKXtSEDoWlBKRdr1z7JrPAcFeqPoEz2875RuuPO704Pltp5DfO3ZbUYXDYrGg1wW9Qh+YJHqe1xMX5l6kekzcAlpWVhacTqfv5/b2dl9gCr7P6XQiOztb9TGJoGXPNLXsqHDqL7Z4gVmVuzRnT1bWOFC+difcHKYk0qwrc2XLPzuteVsoio+4ZTkOHToUmzdvBgDU1taioKDAd1///v1x8OBBNDQ0oK2tDdu3b0dRUZHqY/RKKTvKIgi47co+mnedBoAVH3/dKXsyx25Dui0Fj66qDcicLC3Kx4T/VL96IaJz0qwpXQo89QrTAUz5T5y4dXeuv/56bNmyBRMnToQoiliwYAHee+89NDc3Y8KECZg+fTruvfdeiKKIsWPH4vzzz5d9jN4p9aj8t6jQumGnNA8n9cTUMic37qlnZiSRRpYUAYvGDu7Sc+RlWmXnuPWS8h/rLMdUi4A0myVmzx8sOy10uBJE0XgLm7TOjYUzhxYOpUXT0u2OBpdvgXR+jh1Hvl2PFkwQgK8W3uT7WWk+jYgC5WbYcMbllp1Xzs2wYc4tA7s8LBg8hwZ0vnhNpJ27dmN3c+wSVEYUnIcLczNi9vyRYKWQGFCqDOLfu/KKImwWAc5Wj2JvTUDg1vMcyiAKLT/Hji3TSzDkyb/KFinOSLVGJeCU9MtGfu98Q6b8JysGtBhQ2hdNbqNBtarg7SI0bf5JROdIF35nFL5b0v3RqLKvJVGM4oelr6JMqaxVpIEoePNPexzHrIn0LEUhw0qaw1Kay+qdYw9Zfo6SEwNalKntixaJ4M0/pYxHNXabBbdf2YfBjwytu90mG9QcDS70n/EXXNzT3uk7IC15CVWblZIThxyjTG1ftHDWoQHKm3/KZTxKcuw2zP1hx4T35d/p4UtCITKa083Kw/VeUcSWfacwrH8PHDjp6jSs+OiqWtnHGWmeOlSWY1ezFLVkHcab/lqU5NT2RQsVWGwpArLSrWhodiMv04qZN1+qOD7vv9WM0hyAFPxmVe7SvFSAyEi27DuFAxXnMoUraxwYVlGt+F3QS8p9NISq5ajHLMWuYkCLMrXKHmq9peBU4o4lBeqTzVompCtrHHh3h4PBjExLyhRWGtWQGKXKvpkxoEWZf89JWm8mjc2PvCRPsacUjVRi/6ytnAwbRBGqWZREZiBlCsvNm0nyc+wYeUkeFq/fi0dX1TIFP0kxKSQGpB2s7TaLr9qHo8Gl2lPq6th9cNbW6WY3gxkRzn23lL5jAjpGVt7d4WDWY5JjQIuRcLMduzp2r3b1SWRmWtL4mfVoDBxyjBG1bEe7zRL1HXKNlJ1FBHTMK6tlMmrh/91Sm982Ytajf5ajXEajHrMUu4o9tBhRuhrMz7EHVM+Xfu7qWH13u61LjyfSmzm3DOzS43MzbAHfreCdK/y/e2q9t2QlZTnWHGpAms2CC3MzAv4LtftzMjJeiNYJrfuYdYV/EkhY+9IQJQGlXlMoFkHAkvGXyX7HlL57ct9XAR1zacMqqn29PP9lMpMGZSEGtc2pCxjQYkTLOrGu6JSCzLx8MphIPtKRVrsPzk72L4LgaHChfM1OQIBvA11HgwtLt7Ygv7eDmZA6woAWQ7EsXMokEEpWw/r3wNZ9pyIKWLkZNjS1eOD22xdGCj75XbxolL6vcts0uWX2oWn1itydWmcY0JKUlslqpVJbmakWONuUg2GOvWMvqd45djhbPUz/p6jasu+Ubz/AcNXMHhWVKvlqwkkE0XPSiCAA3++bizSbxZAJIHLM8SoNSKnElkUQ0C6K6P3tQtF3dzgCenI2i4A2T7vqcwsC8NW35YJCVVcgikQkwcx/f8BY9opywsiu1HPSiCjClwxiFgxoSUop6SR4/sC/QLFFEHxzAGr8v8zScz2+emdEJyEiNeH01ER0fA4BaCr5FmkvTuvHPM0isFSWzjBtP0mppSAHHxdctSSS31X2/YtUj7FZmGZJHXIztC8hCfcz6RXFkBU8urrXmdLGoAACvm8/v/o8zp/pDHtoSUzr0Eu4CSQ5MmvaNu6pVzxeqoO36tOvNfUAydha3O3IsdvCnnv1T+5obvMoDvtJFTyUPvtqVT+0fF/UdszYMr3E93NdXV3I56L4Yg/NBMKZuLalCJj7w4G+bTb6Tq+SzfqSCAC2TC/Bxj31DGYEoCN4CALC3mBWCmZbppdgzi0DVR+v9plWuk/r90BuZ3gBwMhL8jQ9nhKHAc0EQk1cpwjwDaMsHncZAHQaslEaUJSeW8/ZXhR/Dc1uLBwzKOyd2qXPkTSkLrcjNQCkCILvYit4KLGrVT9Ki/Ixtjg/4DMvAnh3hyOpihULAmA12RmeQ44mIJdAIpFLJBlWUd3pWBGdlwH418nrHsEQExlX7xy76s7Qao+TlBblw3HEgee3ner0efTfxaJ87U7M/dNu31ITueze4HqpoZJGNu6p77TkJZxhSz0QRSBEQrPhmCx+m09ljQNPvrc7sKTPt5eeSokkSr0tER0T/sFJKJU1DjjbPDF6BZRs/INHOGntckW6S/plByQ/yfX43F4RDS63bzTh3R0OjC3OV0yY0pI00tVhS0oM9tAMrLLGgfK1OzvNbVkFAYsVat0B6r2thmZ3pyvXxev3cv7M4KT6iI+v2QmvTNWMFAFoFztX61AbHQh+fqWSVVLyU2WNA49o6PG53F5s3FMfkMDhT0vSiFJiiJ7XnRF7aIamFGjc7aLqPk9q0x7+9e2kq1petRqftGxD7oSRmWqBKBPMgM7LS3IzbLAFTYzZbRbFYsISqVelVVeTRuQSQ6KxzRPFFntoBuM/N6DWZ1L7wjdorJIgXdUqXc2SccwvHYRhFdWyNQ2lMmrSRQ6ATkHN/+dIFj2Hu/RErSelpfcV6+LiFBvsoRlI8NyAmlBfeK2ONLgUr2aH9e+h+XlI32ZV7tLUEw+1y3OkFTzCHQVQ60lp7X2VFuVjy/QSfFVxE7ZML0m6YGbGLEeTvVxj03oVa0tRL9kj94VXkiIIeHRVLdKsKZ0SRt6+/yrFoGbjJy+p/H7bIdg1/tGUgk9XKniEc5GVYUtRDT5aq+wkOzNmOXLI0UC0XsUuHqc+XxG8N5RUb0+uer+UPt3gcsNus+DZCUMCnvvASfk2eZhDknRcnnbYbZaQF01KwUcpGWPun3aH7LVpTS7peM7QZ/FYFzimxOB1soGEs3BUyzFbppfgQMVN2LfwRhyouAnPThiimj4tN9ykuASAAS3piCJCLpb23+U5uOel9FlocLlD9tqCe1VqbeguU7qNzIEBzUDCGSqMhBTk/nJnP7QrRKTgkxbTnPXvpgHZipVg/FkEAaVF+Vgy/jLFz5lcFqxE62dBaR7Of05L6fMHAM42T1JV9KDoURxyvOaaawAAbrcbLpcLvXr1wjfffIOePXuiuro6bg0k7aSe16OraiPaDTgcSpli3e02DKuo9g0fyVVtIH2p2tuo6TgpdV8uA1BuI9jgtV3hDBuGGj5Xy6x1cydp01LsoX344Yf48MMPMXz4cKxfvx7r16/HX//6VwwePDie7aMwlRblqwaz/Cj1mOR6g7YUAc42T8DwUXDVhnBr+1HiWQQBt1/ZB/NLB/luC84AVNpyxT8wySVjKG01E6o3F2o0gmsjAUuKYJqdqiUhX+3hw4fRq1cvAMD555+Po0ePxrxRFDvRWhgqd5Uut+VHcNWGyhpHXHqQFB3BgUxOZY0DKQobdQYHJrk1aXIb1Wr5nKZZUxR7exzq7gho3TNSE92MuAoZ0Pr374/y8nIMHjwYtbW1KC4ujke7KEz+63sEQT7pIjPVEtVhmOCTU9/pVbLHBV+lbz94Cm9vO8SgpnOZqRZNwWzGul2ywUxLYIpkAbNcEAzW0NyGyhoHhx1NJmRAe+qpp7B582b8+9//xk033YSSEvn6aJQ4nb7gMpHCZhHw9I/VT06R/F7/E1FOhk12U8bgq+X5pYNw+Xd6YO6fdrNCf4zILbHQcp/EbrNo+rworX1Uq80YLNwUei3rLZ1tXpSv3el7fjIHxTm07du3+/7tcDjw1Vdf4dixY/B6ObmvN2onFd8+Z7eqrz0Ll9wi2aYWD2yWznX65K7SS4vykWmy8f14enbCEMX7pF0TlORm2DQHI6W5qnZRjFkg0To/JiWHkHkoBrSlS5cCABYvXoy9e/di1KhROHToEObPnx+3xpE2aieVWJXtCd6SBugoemxNEXyJHxZBwNhi5atvTtzHRo7dpnoiz82woUVh8bHNImDOLQM1f166uplmJMItzUbmEXId2ueff4558+bh2muvxbRp0/Dvf/87Hu2iMMTypFJZ48CwiuqA3YGr9zfKDi0CHVUapPkUryiq7vLLifvIqWX4SQuVlR4nilAcsgu3V5OIqvThrLfkZ8xcFAPa0aNH8be//Q3Z2dk4fPgwAODYsWNoaWmJW+NIm2ifVKQgdvH0Kjy6qrZTFYeXPj6h+bnUitWWjx6gaUEvBcqx23zp74D6dj/+pJqFSin2knB6NYmoixj8O3PsNqTIvAc2i3rNUjIexUmMX/7yl9i9eze8Xi8++OADjB07FhMnTsTTTz8dz/aRBtHc6iI4wURuG/pwKZ0go5nxqKXGoBGkAJj7w4EBiRTDKqpDbt8jAL6lE1KNTiXh9mpiXRdRqUJ/cPq/f5JRboYtrKFTMgbFgHb99dfj+uuvD7ht48aNvn+vXLkSEydOjF3LKCzROqmEu++UP6XlAmonSCnjMdRJVo2UUdeV50gGwre7Qj++eiceWVXr21BTS4/K/2+gVrFDb5tYVu9vxPPbDvraqnXPNTKniGs5/uUvf4lmO0gntJwcu6WlyA5x3vb9PhENfUpVJ56bMCSiIUiv2DHvUz56AMqH50XwDPom4NzcF3BuhwPp5B6qGK+AwAX10pBdTtDjpKFMPQWG5Z+dlq3Qz+xFkhNxQBNZLt2QQg032W0W/OSKnrLzJvNLB3VpPiVU2S41/lfuainpyUiE8lCvy+1Fg8uteiEgQn4tVmvQZlnBP+tBvdMjezuzF0lOxAuBBNbkMyS54ShpIa40xDUg/SwKC+WHeLo69JOvUnRWIvUs5IrhLvmwHpO+38d0BZHDrd+ptDeZ3or65mVacVwmqDF7keRwZavJKE2wS7QkmNTVnY1Z25rb5K/I/WWmWVXW3sFXEHnjnnoc+TZDM1KWFAEp6Fhjlwg2i4CsNKviMolgwVVAlIZ8ld4/vfV87hyai+e3nYqo1iOZT8QBjUOOySc4g1FPE+xa6vNJpECr1JMLLoh8sUKNSS2y06yY+8OBCUs4scrlo6uQetKhsl2V3j+99XxK+mUjv3d+VDJ4yfhCzqEtW7Ys4OclS5YAAMrLy2PTIooZtWGmRAsnu1I6qWnZPqSrGz2ecbkDklZiuYGqHJe7XXPvDOgIZv7buiid+BOxIDpSwVvVMJiREsUe2po1a7B27Vrs27cPmzdvBgB4vV54PB48/vjj3BctCel5mElrG6SMPemk9vjqnarblnQ1WAf3WNS2LEk0pYCkNszMng8ZiWJA+9GPfoSrrroKL7/8Mh544AEAQEpKCnr27BnRL2ppaUF5eTlOnjyJzMxMLFq0CD169Ag4ZvXq1Vi5ciWsVit++tOfYuTIkRBFESNGjMDFF18MABgyZAgef/zxiNpgdnoeZlIbQpQIAG67so/vpCv9X20/ra4Ga+l5whkSlVgEAe2iqLhXWDSlCJDNKA01zFxalI+6ujrsbemGxev34tFVtQxulLQUhxxTU1Nx4YUXYs6cOdi6dSveffddHDp0CE1NTRH9ohUrVqCgoADvvPMOSktLOw1l1tfX46233sLKlSvx2muv4Te/+Q3a2tpw6NAhDBw4EG+99RbeeustBrMu0PMwk9IO2LkZNt8SgGcnDOm0P1dwGaT/yLQGnNi7Eqxz7LaAnky4PTOpOHS7SjBTmiJT281Z/ncB2w+e6nS7lmHm6v2NnXZOmLFuV5eHa4niLeQc2pw5c3DkyBFs2bIFTqcT06ZNi+gX7dixA8OHDwcAjBgxAh999FHA/Z9//jmKioqQmpqK7Oxs9OnTB3v27MHu3btx7NgxTJ48Gffffz/2798f0e+nxNTd60rbFo+7DDWzR4WcO/GfY1l+a5+A4yKtF2m3WTD3hwN9P0fS05OCqVJQ7ejBdb5dmgebc8vAsObs3t52qFMQ0jLMzMXLZBQhsxwPHTqEp59+Gjt27EBJSQleeeWVkE+6Zs0aLF++POC2nj17Ijs7GwCQmZmJxsbGgPubmpp890vHNDU1IS8vD1OmTMEPfvADbN++HeXl5Xj33XdVf39rayvq6upCtrOlpUXTcYkQq7YNSAd+96NefrecDTsNP5naNiAduHFANqr2Nqo8KtB/ZFpx59BcDEg/ixeqHFj+2emIUv8dDS5c8dR6/OeFdpxoFNDqPfcsFgGKw5BHGlyoq6vDgHRg6pU9sOTDetnAF0wEsODPX2BA+rn3TGkdV16m1fc+qS1eTvT3w4zf0VAKCws1HefxeHT73nWF2usPGdC8Xi9OneoYymhqakJKSujiIuPGjcO4ceMCbps6dSqcTicAwOl0olu3bgH3Z2Vl+e6XjsnOzsZ3v/tdWCwdV6mXX345jh07BlEUVRd2p6Wlafqj19XVaf5wxBvbFhm5tr1QWIgqjan7AoBPnhgNoGP+yb+OYCSOOz2o3t+M//5uFmqPeXCkwYXudhucbR54vfJRqneOHYWFhaisceCdXUc1BTNJvdMT8Ppn3txNdo5x5s2XorCwoyebl3lIcfFyov/OyfZZ0xOr1arr9sVCyOj0yCOPoKysDF988QUmTJiABx98MKJfNHToUGzatAkAsHnzZhQXFwfcP3jwYOzYsQOtra1obGzEvn37UFBQgOeff97X29uzZw969+7NKiUUllmVuzQf6z882JVCzf5cbi/+71+NvmxCQejYd0yONKfpvyN4OIKHN7UMM985NFe3c6tE4QjZQ7viiiuwfv16nDp1qlNWYjjKysowbdo0lJWVwWaz+dazvfHGG+jTpw+uu+46TJ48GZMmTYIoinj00UeRlpaGKVOmoLy8HJs2bYLFYsHChQsjbgOZT2WNA29vO6T5+JGXnCtuHM3lDFIvK1SAkoLNsIrqsINpcBFiSaiF8ly8TEYRMqCNGjUKXu+5L5bVakWvXr1QXl6OgQMHqjwykN1ux9KlSzvdfvfdd/v+PX78eIwfPz7g/u7du2uatyOSs3j93rDmv/6886ivZFY80u395efYfUFELZjmZtjQ1OIJKMcVvKQhXNx+hYwgZEC78sorccMNN+Dyyy9HTU0N1qxZg7Fjx2L+/PlYsWJFPNpIJhCqxmSkwu1lNbjcvqLH8QxmwUN83e22TsWXgY5gVjN7VMzeL9Kuen8j7vtjNf8GOhIyoH311Ve4+uqrAQDf//73sWzZMlx11VV4/vnnY944MgetNSYjoWXBdiiWED01AcDV/Xvgs0NnNA8T5thtviLLwSfDyhoHzrbIl7tqavGgssbBHlWCVdY4sHTrCV/majQ/sxS5kAEtNTUVK1asQFFREWpqapCamoovvvgiYBiSqCtiuZWJ2u7MWrWLYqcq9v5EAFv3nYKIc8EvN8OmWINRADD3hwMVX9vcP+1WzGx0t4u62+LFjBav3xuwDAPQ5/Y7ZhMyy/HXv/41Dhw4gF//+tf4+uuv8cwzz+DkyZN4+umn49E+MoFY1phU2p1ZYrel+LL/lCpz9M6xh6w4Ip3avKIYcjF0qLkuuaFGf3qovWl2eq6LamYhe2jz58/3ZSRKrr322pg1iMwn1jUmpeG5WZW78Pa2Q0E9LQHPThiC0qJ82XqN0tzW9oOn8HuN2ZIut1e1Rxhcvitc3e02DKvg3E0i6bkuqpmF7KG1tbVhz549aG1tRVtbG9ra2uLRLjKReNWY3LinvtOwoX+JJ7U1Wxv31EelDXK7R/sLVT/RliLA2eZh3cUEKx89AGmWwPWwXLuXeCF7aAcOHMDPfvYz38+CIGDDhg0xbRSZS7y2MtEyTKSUbBGNoSQtJzy1+ok5dhsEAZ3m5lxuLx5ZVYvF6/eytxYnpUX5cBxx4J1dTewp60jIgPbee+/Fox1kcvHI2uvKMFFXsyWVtncJphY4a+eMQl+VEl5Gz7TT21KFkn7ZePCmKxL2+6mzkEOOGzZswL333os77rgDkydPxi233BKPdhFFXVeGNkPtkB2KKGoLMkrBVRqqDBV8jVol378UGIdaSUnIgPbCCy9g6tSp6NWrF3784x+joKAgHu0iirqubJ/j/1igIz0/HHmZIQdDAIQOuloCqxEz7ZSWdjz53m4MefKvuHh6FS6eXoWieX9lkDOxkN+y3NxcFBUVYeXKlRgzZgzWrVsXj3YRKerK0FNXhjaDH1tZ40D52p2KhYYldpsFdw7N1fw7AOX5RP/7lYZAjZhppxSkg+cTTze7Ub52JwBjDruSupABzWaz4dNPP4XH48E//vEP1NdHJ9uLKBKxrCoSkRDVsSyCgIVjBgXsURZKqKAr3a+2zMBowpnDdHu5+NysQg45Dh48GB6PBz/96U+xevVqTfuhkX5V1jgwrKIafadXYVhFddINzygNPT2+eif6Tq/CnWs779ocSqTvyeL1ewMKBAez2yxYMv6ymJ1Y9bwDebSFO4dpxGFXCk2xh7ZmzRqsXbsW+/btw3e/+10AHZt9pqenx61xFF26691EQOlEJdVaPO70aH5NlTUOzP3T7oDKHOG8J2onzfw4ZeGZpaaj3FCss9WjWFXFiMOuFJpiQPvRj36Eq666Ci+//DIeeOABAEBKSgp69uwZt8ZRdMWyZmK8aBl60vKa5Ibrwnm8WlssgoAjDa6ABdvUdbJzmGt2duol2yyCIYddKTTF8cPU1FRceOGFeOqpp5Cfn4/8/Hz06tULqamp8WwfRZER6s9pHXoKFfRC7Uat5T1RaotXFJlaHgelRflYPO6ygDqduRk2LL41dsO8pG/aconJEIxQf05Llh/QUdFe2mZFTqiApeU9CR4Gk9sQVOrt/e5HvUI+H4XPLEOupA0zPEwkXjUTY620KB9bppeo1kUUoV5GSi1ghfOeSG35quImtCvsmZZMPWCiZMaAZiJGy4oLNfyoFkiUHpubYYv4PVEKksnUAyZKZhxyNBkjDdFIr+Px1Ttld5RWCySxKIgst5noud6e9nVoRBQZBjRKalIAimSBcbSDu1qQrKtjQCOKNQY0Snrx2n5Ga1uM0gMmSjYMaGQIUiCpq6tDYWFhoptDRAnAgEa6pbf9r4hI3xjQKOHkAheApC/TRfHBCx+SMKBRQinVl0y3pSR9mS6KPSPUJ6Xo4To0Siil+pLB+1xJuEiZ/KnVJyXzYQ+NEircAJXoRcoc3tIXI9QnpehhD40SSilA5dhtsFmEgNsSXUVdGt5yNLhYfFgnWJ2F/DGgUUIp1Ze8+bJenXeDDrE7dKxxeEt/jFKflKKDQ46UUMHV8y2CAJfbixUff92pnJW7XUxoUgiHtxJDbZhXT4vqKfEY0Cjh5MpXydVmBBIbPIyw/U6yqd7fiOe3HVTNYmR1FpJwyJF0IdSGm5JEBg8Ob8Xf8s9Oc5iXNGMPjXRBS88r0cGDw1vxV+/0yN7OYV6Sw4BGuqA0nGcRBLSLom6CB4e34isv04rjMkGNw7wkhwGNdEFpL7Fk3oCUuu7Oobl4ftupsLcGInNiQCNd4HAeySnpl4383vmG+VxwYX5sMaCRbkQ6nOd/ksjLtGLmzd0SepKQO2kNSE9Yc5KeUYZ5WXcy9pjlSEktuHrHcacnodU7lKqJVO9vTEh7SD+4MD/2GNAoqentJKHUnuWfnU5Ie0g/uDA/9hjQKKnp7SSh9HuV0s/JPFh3MvYY0Cip6e0kofR78zI5XW12XJgfewxolNQScZKorHFgWEU1+k6vwrCK6oD5OqX23Dk0N2btoeRQWpSPhWMGIT/HDgFAfo6dy1KijJeNlNSC0/07shwvjdlJIlSmmtLygwHpZ2PSHkouRsnY1CsGNEp6/ieJuro6FBbG7oShloSiViy3B44A0gAAD19JREFUro4BjSjWOORIFAa58lwAM9WI9IABjUijyhoHBIX7mKlGlHgMaEQaLV6/V3bTbAFgphqRDjCgEWmkNKwogqWLiPSASSGU1ILrJk4alIXCwtj8LqUtbvI53EikC3HrobW0tOChhx7CpEmTcP/99+PUqVOyx506dQqjRo1Ca2trWI8j85Grm7h064mY1XHkwlgifYtbQFuxYgUKCgrwzjvvoLS0FMuWLet0zD/+8Q/cc889OHHiRFiPI3OSS6Fv9Yoxq+PIhbFE+ha3gLZjxw4MHz4cADBixAh89NFHnRuTkoI33ngDOTk5YT2OzCkRdRxLi/KxZXoJvqq4CVumlzCYEelITObQ1qxZg+XLlwfc1rNnT2RnZwMAMjMz0djYeTuNYcOGdbqtqakp5OOCtba2oq6uLuRxLS0tmo5LBLYttLxMK47LFP3Ny7Tqon3+9PKeyWHbIpOothVqnCT2eDy6fe+6Qu31xySgjRs3DuPGjQu4berUqXA6nQAAp9OJbt26aXqurKyssB+Xlpam6Y/eUVUiRhkEXcS2hTbz5m4BZagAIM0iYObNl8a0Wkgk9PKeyWHbIqPntgGA1WrVdftiIW5DjkOHDsWmTZsAAJs3b0ZxcXFMH0fGJzen9fOrz+MwIJFJxS1tv6ysDNOmTUNZWRlsNhuWLFkCAHjjjTfQp08fXHfddWE9jgjoXDfRiEMsRKRN3AKa3W7H0qVLO91+9913d7qturo65OOIQgleo1Y+egB7b0QGxoXVZEihtnkhIuNh6SsyJLVtXojImBjQyJASsUaNiBKLAY0MSWk7F27zQmRcDGhkSKy7SGQ+TAohQ5ISP5jlSGQeDGhkWMFr1IjI2DjkSEREhsCARkREhsCARkREhsCARkREhsCARkREhsCARkREhsCARkREhsB1aGQq3FKGyLgY0Mg0uKUMkbFxyJFMg1vKEBkbAxqZBreUITI2BjQyDW4pQ2RsDGhkGtxShsjYmBRCpsEtZYiMjQGNTMVsW8pwmQKZCQMakUFxmQKZDefQiAyKyxTIbBjQiAyKyxTIbBjQiAyKyxTIbBjQyHQqaxwYVlGNvtOrMKyiGpU1jkQ3KSa4TIHMhkkhZCpmSpTgMgUyGwY0MhW1RAkjnujNtkyBzI1DjmQqTJQgMi4GNDIVJkoQGRcDGpkKEyWIjItzaGQqTJQgMi4GNDIdJkoQGROHHImIyBAY0IiIyBAY0IiIyBAY0IiIyBAY0IiIyBAY0IiIyBAY0IiIyBAY0IiIyBAY0IiIyBAY0IiIyBAY0IiIyBAY0IiIyBAY0IiIyBAY0IiIyBC4fQyZUmWNg3uiERkMAxqZTmWNAzPW7YLL7QUAOBpcmLFuFwAwqBElMQ45kuksXr/XF8wkLrcXi9fvTVCLiCga4tZDa2lpQXl5OU6ePInMzEwsWrQIPXr06HTcqVOnMHHiRLz33ntIS0uDKIoYMWIELr74YgDAkCFD8Pjjj8er2WRARxpcYd0eSxz6JIqeuAW0FStWoKCgAA899BCqqqqwbNkyzJo1K+CYf/zjH1iyZAlOnDjhu+3QoUMYOHAgXnrppXg1lQyud44dDpng1TvHHtd2cOiTKLoEURTFePyiqVOn4r777sOQIUPQ2NiIiRMnoqqqKuCYLVu24P/9v/+HsWPH4v/+7/+QlpaGv/zlL3j11VeRlZWF9PR0zJgxA/369VP9XbW1tUhLSwvZppaWFqSnp3fpdcUK2xYZLW2r3t+IpVtPoNV77qOfZhHw86vPQ0m/7Li16861h3Dc6el07H9kWrH81j4xaYecZP97Jkqi2lZYWKjpuF27dsFqNV6ahNrrj8mrXbNmDZYvXx5wW8+ePZGd3XGyyMzMRGNjY6fHDRs2rNNteXl5mDJlCn7wgx9g+/btKC8vx7vvvqv6+9PS0jT90evq6jR/OOKNbYuMlrYVFgL5veM71CfXrnrnftlj652euL6/yf73TBQ9tw0ArFarrtsXCzEJaOPGjcO4ceMCbps6dSqcTicAwOl0olu3bpqe69JLL4XFYgEAXH755Th27BhEUYQgCNFtNJlKaVF+3If1gufLutttaHC5Ox0X76FPIqOIW5bj0KFDsWnTJgDA5s2bUVxcrOlxzz//vK+3t2fPHvTu3ZvBjJJO9f5GzFi3C44GF0R0zJc52zywpQR+lu02C8pHD0hMI4mSXNwGWMvKyjBt2jSUlZXBZrNhyZIlAIA33ngDffr0wXXXXSf7uClTpqC8vBybNm2CxWLBwoUL49VkoqhZ/tnpTksF3F4RuRk2ZKRameVIFAVxC2h2ux1Lly7tdPvdd9/d6bbq6mrfv7t3745XXnklpm0jirV6meQPAGhodqNm9qg4t4bImLiwmigO8jLlrx1TBAGVNY44t4bImBjQiOLgzqG5sNssnW73iiJmrNvFoEYUBQxoROjIQBxWUY2+06swrKI66gGmpF82Fo4ZBItMQhPLbhFFBwMamZ5UscM/AzEWvabSony0K9QxSETZLSKjYUAj04tnsWKlNWZce0bUdQxoZHrxLFZcPnpAp7k0ubVnsR4CJTIi4xX6IgpTPIsVS2vM1MpusWgxUWQY0Mj0ykcPCAggQGwrdoQqu6U2BMqARqSMAY1MT0uvKZ70tF8bUTJhQCNCYooVK9HLfm1EyYZJIUQ6ozVxhIgCsYdGpDN6GwIlShYMaEQ6pKchUKJkwYBGlASCNwdlj42oMwY0Ip3jujQibRjQyNSSoefDdWlE2jCgkWklS8+H69KItGHaPplWPIsSdwULGhNpw4BGppUsPR+uSyPShgGNTCtZej6lRflYOGYQ8nPsEADk59ixcMwgXQ2LEukB59DItOJdlLgruC6NKDQGNDItVuQgMhYGNDI19nyIjINzaEREZAgMaEREZAgMaEREZAgMaEREZAgMaEREZAgMaEREZAgMaEREZAgMaEREZAgMaEREZAgMaEREZAiCKIpiohsRbbW1tUhLS0t0M4iIos5qteJ73/teyOO+/PJLTccZiSEDGhERmQ+HHImIyBAY0IiIyBAY0IiIyBAY0IiIyBAY0IiIyBAY0IiIyBBMHdAaGxtx33334bbbbsNdd92F+vr6RDfJx+v1Yv78+Zg4cSLGjBmDjRs3JrpJnezbtw/FxcVobW1NdFMAdPw9H3jgAdx+++2YMGECampqEt0ktLe3Y/bs2ZgwYQImT56MgwcPJrpJPm63G+Xl5Zg0aRJuvfVWbNiwIdFNCnDy5Elce+212LdvX6KbEuDll1/GhAkTMGbMGKxZsybRzSE/pg5o69atQ0FBAd5++23ceOONeO211xLdJJ8//vGP8Hg8WLlyJV588UVdnQgBoKmpCYsWLUJqamqim+Lzxhtv4Morr8Tvf/97LFy4EPPmzUt0k/DBBx+gra0Nq1atwuOPP46KiopEN8nnT3/6E3JycvDOO+/g1VdfxVNPPZXoJvm43W7Mnj0b6enpiW5KgI8//hg1NTVYsWIF3nrrLXzzzTeJbhL5sSa6AYlUUFCA/fv3A+g4QVut+nk7PvzwQxQUFGDKlCkQRRFPPPFEopvkI7Xnsccew89+9rNEN8fnrrvu8gVYr9eri2oxO3bswPDhwwEAQ4YMwRdffJHgFp1zww03YPTo0b6fLRZLAlsTaNGiRZg4cSJeeeWVRDclgPS9fPDBB9HU1IRf/vKXiW4S+dHPGTzG1qxZg+XLlwfcNnv2bGzZsgU33ngjzpw5g7fffls3bcvNzUVaWhpefvllfPrpp5gxY0ZC2ifXtt69e+PGG2/EJZdcEvf2SOTatWDBAgwePBj19fUoLy/HzJkzE9S6c5qampCVleX72WKxwOPx6OLiKTMzE0BHG3/+85/jkUceSXCLOqxbtw49evTA8OHDdRfQTp8+jSNHjuCll17C4cOH8dOf/hTvv/8+BEFIdNMIAEQTe/DBB8UVK1aIoiiKdXV14s0335zgFp3zyCOPiO+//77v56uvvjqBrQn03//93+Ltt98u3n777eKll14qTpo0KdFN8tmzZ4944403in//+98T3RRRFEVxwYIFYlVVle/n4cOHJ7A1nR05ckT88Y9/LK5ZsybRTfGZNGmSeNttt4m33367WFxcLI4dO1Y8fvx4opsliqIoLl68WHzttdd8P99yyy3iiRMnEtgi8pf4y8QE6tatG7KzswEAPXv2hNPpTHCLzikuLsamTZswevRo7NmzB7169Up0k3z+9re/+f5dUlKC119/PYGtOeff//43Hn74YTz33HMJ7T36Gzp0KDZu3Igbb7wRtbW1KCgoSHSTfE6cOIF77rkHs2fPxlVXXZXo5vj4j0RMnjwZc+fORV5eXgJbdE5xcTH+93//F3fffTeOHz8Ol8uFnJycRDeLvmXqgPbwww9j1qxZeOedd+DxeHQ1KT5+/HjMmTMH48ePhyiKePLJJxPdJN1bsmQJ2tra8PTTTwMAsrKy8OKLLya0Tddffz22bNmCiRMnQhRFLFiwIKHt8ffSSy/h7NmzWLZsGZYtWwYAePXVV3WXiKEnI0eOxKeffopbb70Voihi9uzZupp7NDtW2yciIkMwddo+EREZBwMaEREZAgMaEREZAgMaEREZAgMaEREZAgMaURy0traipKQk0c0gMjQGNCIiMgRTL6wmkrNu3Tps3LgRLS0tqK+vxx133IENGzbgyy+/xC9/+Ut88803+Otf/wqPx4Ps7Gz89re/RXt7O2bMmIEjR47A7XbjiSeeQEFBAX7xi1/g7Nmz6NOnT6JfFpHhMaARyXA6nXj99ddRVVWFN998E6tXr8bHH3+MN998E5deeinefPNNpKSk4N5778WuXbuwa9cu5Ofn49lnn8W//vUvbN26Fbt370ZBQQEeffRR7Ny5Ex9//HGiXxaRoTGgEckoLCwEAGRnZ6N///4QBAHdu3eH2+2GzWbDY489hoyMDHzzzTfweDzYv38/RowYAaBjW6KCggLMmTPHt3XMZZddposK+0RGxjk0IhlK24G43W588MEHeO655/DEE0+gvb0doiiif//+2LVrFwDg66+/xuOPP45+/fqhtrYWAPDPf/4THo8nbu0nMiNeMhKFwWq1wm63Y8yYMUhNTUVeXh6OHz+OiRMnYubMmbj99tvh9Xoxc+ZMFBYWYsaMGSgrK0O/fv1gs9kS3XwiQ2NxYiIiMgQOORIRkSEwoBERkSEwoBERkSEwoBERkSEwoBERkSEwoBERkSEwoBERkSH8f1Ge69UDLhaSAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x432 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "j=sns.jointplot(x='macd', y=target, data=top100)\n",
    "j.annotate(pearsonr);"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.7"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": true,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
